Почему переключение на выпуск в VS не устанавливает для параметра отладки значение false в web.config

В VS2008 (и ранее, если я не ошибаюсь) у меня есть выпадающий список, который позволяет мне выбирать между режимами отладки и выпуска. Все хорошо.
Когда я переключаю VS на Release, атрибут debug в моих файлах web.config не устанавливается на false вообще.
Это так и должно быть? Я должен забыть установить правильное значение при развертывании. Какие меры я должен предпринять, чтобы убедиться, что это работает так, как должно?

7 голосов | спросил Boris Callens 23 PMpThu, 23 Apr 2009 13:55:28 +040055Thursday 2009, 13:55:28

6 ответов


0
ответил BobbyShaftoe 23 PMpThu, 23 Apr 2009 13:58:59 +040058Thursday 2009, 13:58:59
0

Ваш web.config, вероятно, будет отличаться для отладки и выпуска (строка подключения, пароли и т. д.), но если это не так, посмотрите на событие postbuild, которое скопирует другой файл.

Также проверьте это сообщение в блоге Скотта Гатри.

ответил Mladen Mihajlovic 23 PMpThu, 23 Apr 2009 13:57:50 +040057Thursday 2009, 13:57:50
0

Изменение режима выпуска не изменит web.config, однако при сборке веб-приложения он будет создавать dll только для файлов C # в режиме выпуска, в противном случае IIS для отладки вашего web.config используется для построения отладки. /выпуск версии файлов разметки ASPX.

ответил Akash Kava 23 PMpThu, 23 Apr 2009 14:00:50 +040000Thursday 2009, 14:00:50
0

Вариант сборки влияет только на то, как код компилируется, но не влияет на ваши файлы конфигурации. Так что да, чтобы ответить на ваш вопрос, так и должно быть.

ответил Steve Haigh 23 PMpThu, 23 Apr 2009 14:00:13 +040000Thursday 2009, 14:00:13
0

Элемент является хорошим решением, если у вас есть доступ к machine.config вашего сервера, на котором размещены только производственные приложения.

Обычно я изменяю файл web.config при создании развернутых файлов в рамках процесса автоматической сборки. Например, проекты веб-развертывания могут выполнять замену раздела web.config. Есть ряд причин, по которым мне не нравятся проекты веб-развертывания, и я склонен делать это с помощью простого файла VBS, который изменяет файл с помощью MSXML.

ответил Joe 23 PMpThu, 23 Apr 2009 15:39:04 +040039Thursday 2009, 15:39:04
0

Ответ, выбранный вами из Бобби, неверен. Visual Studio создает файлы для вас в выпуске, пока вы находитесь в VStudio.

IIS компилирует код при запуске с этим параметром при развертывании. Не каталог bin, а код приложения и код файлов.

Вы должны предварительно скомпилировать свое приложение перед развертыванием, которое скомпилирует ваш код и каталог App_Code в dll в каталоге bin.

Инструменты развертывания автоматически переключают этот параметр, если для инструмента развертывания установлено значение Release

Я использую проекты веб-развертывания. http: //weblogs.asp.net/scottgu/archive/2008/01/28/vs-2008-web-deployment-project-support-released.aspx

ответил Chad Grant 23 PMpThu, 23 Apr 2009 15:50:58 +040050Thursday 2009, 15:50:58

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132