#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 folderC:Publish
. Предположим, что веб-сайт находится на\myserverwebsiteroot
. Что вам нужно, так это скопировать все DLL-файлыC:Publishbin
onSefiMach
в\myserverwebsiterootbin
. Если вы внесли изменения в.aspx
файлы, просто перезапишите файлы, которые вы изменили. Вам не нужно копировать.cs
файлы, и это не будет иметь никакого эффекта, поскольку код, лежащий в основе, все равно компилируется в DLL-файлы.
Ответ №2:
Если вы часто обновляете свой веб-сайт, я рекомендую установить флажок Использовать фиксированные названия и одностраничные сборки.
Это приведет к созданию отдельной библиотеки DLL для каждого кода на странице,
Хотя вам необходимо скомпилировать проект полностью, вы можете загрузить только соответствующий файл.
Это очень полезно в случае, если много людей работают в одном проекте, каждый может внести изменения в свой соответствующий файл .cs и опубликовать DLL своего файла .cs , это не повлияет на DLL других пользователей и, следовательно, функциональность не нарушится, если только DLL или codebehind не конфликтуют друг с другом.