Для чего нужны файлы Web.Debug.config и Web.Release.Config?

Я просто обновился до Visual Studio 2010 и MVC 2.0, и я заметил, что у Web.config есть два дополнительных файла, прикрепленных к нему? Используются ли эти файлы для определения параметров отладки и выпуска, поэтому вы не загромождаете главный файл Web.config?

Имеет ли смысл разместить строку соединения в корневом файле Web.config, если у меня есть локальный и удаленный в отладке и выпуске Web.configs соответственно?

Благодаря!

Это новая функция преобразования Web.config в Visual Studio 2010. Дополнительная информация здесь .


Редактировать:

Используются ли эти файлы для указания определенных параметров отладки и выпуска, поэтому вы не загромождаете главный web.config?

Это не ограничивается тремя файлами, вы можете (теоретически) иметь столько файлов, сколько у вас есть. «Верхний уровень» Web.config предоставляет шаблон вашей веб-конфигурации. Файлы под ним предоставляют значения замены, характерные для этой среды (например, если у вас разные строки подключения для локального / stage / test / whatever).

Имеет ли смысл разместить строку соединения в корневом файле web.config, если у меня есть локальная и удаленная в debug и release web.configs соответственно.

Это имело бы смысл только в том случае, если бы он не изменился между средами. Похоже, в вашем случае это так, в вашем случае нет, было бы бессмысленно оставлять его в Web.config.

Это файлы преобразования Web.config. Из веб-развертывания ASP.NET с использованием Visual Studio: Преобразование файлов Web.config :

Существует два способа автоматизации процесса изменения параметров файла Web.config: преобразования Web.config и параметры веб-развертывания. Файл преобразования Web.config содержит разметку XML, которая указывает, как изменить файл Web.config при его развертывании. Вы можете указать различные изменения для конкретных конфигураций сборки и для конкретных профилей публикации. Конфигурация сборки по умолчанию – Debug и Release, и вы можете создавать пользовательские конфигурации сборки. Профиль публикации обычно соответствует среде назначения.

В случае, если кто-то заинтересован, вот что я написал, чтобы иметь динамическую строку соединения для среды. Я хотел развернуть код в любой среде (Dev, Test, Pre-Prod, Prod …), не беспокоясь об изменении строк подключения. Я не мог найти хороший способ сделать это с помощью Asp.Net MVC 4, поэтому я придумал свой собственный способ использовать файл свойств для каждой среды.

Может быть лучшее решение, я исхожу из фона Wicket / Java и недавно начал развиваться с MVC 4, поэтому возможно лучшее решение. Но вот ссылка на мой вопрос и ответ для динамической строки подключения:

Динамическая строка подключения Asp.net MVC 4

Это было что-то долгое время в VS. К сожалению, проблема с реализацией. Например, рассмотрим этот сценарий (VS.2010 Ultimate, все SP):

Web.Config

  • Раздел соединений
  • Полномочия пользователя / роли / etc. Конфигурация поставщика с использованием connectionStringName = “test”

Web.Release.Config

  • Конфигурация членства (уже указана в главном web.config)
  • sectionString, включая CS с именем “test”

Web.Debug.Config

  • Конфигурация членства (уже указана в главном web.config)
  • sectionString, включая CS с именем “test”

При выполнении приложения появляется следующая ошибка:

Имя соединения ‘test’ не было найдено в конфигурации приложений или строка соединения пуста.

Другими словами, поскольку элементы строки соединения находятся в файлах конструктора Release / Debug и используются элементами конфигурации в основном файле (Web.config), он не может его решить.

  • Шифрование строки подключения в web.config
  • Ограничить доступ к определенному controllerу по IP-адресу в бета-версии ASP.NET MVC
  • Как заблокировать пути в ASP.NET MVC?
  • Сообщения Log4Net «Не удалось найти информацию о схеме»
  • Как вы изменяете настройки приложения web.config во время выполнения?
  • Использовать преобразование web.config Visual Studio для отладки
  • web.config перенаправляет не-www на www
  • Что делает файл Web.Config в папке представлений проекта MVC
  • Веб-сайты Windows Azure переопределяют мои страницы ошибок 404 и 500 в моем приложении node.js
  • Использование другого Web.config в среде разработки и производства
  • Настройка нескольких параметров SMTP в web.config?
  • Давайте будем гением компьютера.