Почему переключение на выпуск в VS не устанавливает для параметра отладки значение false в web.config - PullRequest
7 голосов
/ 23 апреля 2009

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

Ответы [ 6 ]

3 голосов
/ 23 апреля 2009

Это одно из решений этой проблемы:

http://blog.aggregatedintelligence.com/2009/04/aspnet-never-again-fear-publishing-your.html

1 голос
/ 23 апреля 2009

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

1 голос
/ 23 апреля 2009

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

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

0 голосов
/ 23 апреля 2009

Ответ, выбранный вами из Бобби, неверен. 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

0 голосов
/ 23 апреля 2009

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

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

0 голосов
/ 23 апреля 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...