asp.net публикация в одном файле

#asp.net

#asp.net

Вопрос:

я опубликовал свой веб-сайт. использование веб-сайта публикации в версии 2008. Теперь я хочу обновить один файл. Итак, нужно ли мне перекомпилировать весь веб-сайт и загрузить его на сервер снова, или я просто опубликую этот единственный файл и загружу его на сервер.

если я могу скомпилировать один файл, то как это сделать, а также как обновить его на сервере?

Ответ №1:

Зависит от того, является ли ваш веб-проект проектом веб-приложения или проектом веб-сайта. Если это веб-сайт, то вы можете просто скопировать обновленный файл на сервер и ASP.NET перекомпилирует его для вас.

Если ваш веб-проект является проектом веб-приложения, и вы внесли изменения в исходный код, вам потребуется перекомпилировать проект и повторно развернуть DLL.

Кроме того, если вы просто обновляете страницу ASPX (не исходный код ASPX.cs), вы должны иметь возможность развернуть ее без компиляции.

Комментарии:

1. @Justin Largey, это веб-проект, поэтому, по вашим словам, я перекомпилирую весь проект и снова разверну его на сервере, также, если вы можете сказать мне, где находятся эти DLL-хранилища? В папке Bin проекта?

2. Библиотека dll должна храниться в папке с именем bin. Эта папка должна быть расположена в папке веб-проекта. Если все ваше решение состоит из одного проекта (то есть веб-проекта), то вы должны увидеть файл с именем <webprojectname>.dll. Скопируйте этот файл на свой сервер и перезапишите существующий. СОЗДАЙТЕ РЕЗЕРВНУЮ КОПИЮ СУЩЕСТВУЮЩЕЙ библиотеки DLL ПЕРЕД развертыванием, на случай, если потребуется выполнить откат.

3. @Justin Largey, когда я компилирую свой проект, он создает много DLL-файлов . я не могу найти webprojectname в своем проекте

4. @safi просто скопируйте все эти DLL-файлы в BIN папку веб-сайта и удалите DLL-файлы, которые были там ранее.

5. @sefi предположим, вы выполняете публикацию на компьютере под названием SefiMach into folder C:Publish . Предположим, что веб-сайт находится на \myserverwebsiteroot . Что вам нужно, так это скопировать все DLL-файлы C:Publishbin on SefiMach в \myserverwebsiterootbin . Если вы внесли изменения в .aspx файлы, просто перезапишите файлы, которые вы изменили. Вам не нужно копировать .cs файлы, и это не будет иметь никакого эффекта, поскольку код, лежащий в основе, все равно компилируется в DLL-файлы.

Ответ №2:

Если вы часто обновляете свой веб-сайт, я рекомендую установить флажок Использовать фиксированные названия и одностраничные сборки.

Это приведет к созданию отдельной библиотеки DLL для каждого кода на странице,

Хотя вам необходимо скомпилировать проект полностью, вы можете загрузить только соответствующий файл.

Это очень полезно в случае, если много людей работают в одном проекте, каждый может внести изменения в свой соответствующий файл .cs и опубликовать DLL своего файла .cs , это не повлияет на DLL других пользователей и, следовательно, функциональность не нарушится, если только DLL или codebehind не конфликтуют друг с другом.