Используя другой Web.config в среде разработки и продуктивной среде

Я должен использовать другую строку соединения с базой данных, и адрес сервера SMTP в моем приложении ASP.NET в зависимости от нее выполняется в среде разработки или продуктивной среде.

Приложение читает настройки из файла Web.config через WebConfigurationManager. Свойство AppSettings.

Я использую команду Build/Publish, чтобы развернуть приложение на рабочем сервере через FTP и затем вручную заменить удаленный Web.config корректным.

Действительно ли это возможно, так или иначе упрощают процесс развертывания? Спасибо!

189
задан Alexander Prokofyev 20 November 2008 в 04:31
поделиться

1 ответ

В Visual Studio 2010 и более поздних версиях теперь у вас есть возможность применить преобразование к вашему web.config в зависимости от конфигурации сборки.

При создании web.config вы можете развернуть файл в обозревателе решений, и вы увидите два файла:

  • Web.Debug.Config
  • Web.Release.Config

Они содержат код преобразования который можно использовать для

  • изменения строки подключения
  • удаления трассировки и настроек отладки
  • регистрации страниц ошибок

Подробнее см. Синтаксис преобразования Web.config для развертывания проекта веб-приложения в MSDN. Информация.

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

Это давний запрос к Visual Studio Uservoice .

Расширение для Visual Studio 2010 и выше, « SlowCheetah ,» доступно для создания преобразования для любого файла конфигурации. Начиная с Visual Studio 2017.3, SlowCheetah был интегрирован в IDE , а базой кода управляет Microsoft. Эта новая версия также поддерживает преобразование JSON.

155
ответ дан 23 November 2019 в 05:40
поделиться
Другие вопросы по тегам:

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