Можно ли использовать разные файлы web.config для проекта Team Foundation Server?

У меня есть простой веб-сайт ASP.NET MVC. Он имеет режимы конфигурации отладки, тестирования и выпуска.

Мы используем TFS в качестве системы контроля версий и отслеживания ошибок и т. Д. Прекрасно.

Теперь мы собираемся приступить к использованию Team Builds для автоматизации некоторой непрерывной интеграции. Дело в том, что мы не уверены, как сделать так, чтобы, если мы хотим создать сборку DEBUG или сборку RELEASE, она также помещает правильный файл web.config в целевой каталог. Кроме того, у нас есть определенные разделы файла web.config, извлеченные в отдельные файлы (например, раздел строки подключения или раздел ключа компьютера и т. Д.). Могут ли правильные файлы среды быть правильно помещены в целевой каталог.


person Pure.Krome    schedule 16.09.2009    source источник


Ответы (3)


Вы можете выполнить шаг перед сборкой

Скажите, что вы отметились

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

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

  • /Web.Config

Что-то типа

cp $(ConfigurationName).Web.Config $(TargetDir)

Кстати, ASP.net 4.0 будет поддерживать несколько Web.Configs.

http://weblogs.asp.net/gunnarpeipman/archive/2009/06/03/visual-studio-2010-multiple-web-config-versions.aspx

person TJB    schedule 16.09.2009
comment
Люблю новые вещи, которые появятся в VS2010 и т. Д. :) С вашей идеей, приведенной выше, это просто копирует наш файл поверх файла web.config в место назначения (с помощью команды cp), так что исходный web.config не испорчен, верно? - person Pure.Krome; 17.09.2009
comment
Да, я думаю, таким образом у вас даже не будет web.config в вашем проекте, будут просто debug.web.config и release.web.config, а затем всякий раз, когда вы создадите правильную веб-конфигурацию, будет помещаться на ее место . Но да, ваша исходная веб-конфигурация не должна испортиться;) Конечно, это не проверено, поэтому убедитесь, что все идет в правильные каталоги, а что нет. - person TJB; 17.09.2009
comment
Visual Studio 2014 выходит, а muti webconfig для локальных разработчиков все еще не поддерживается. что за мяч болит - person Piotr Kula; 10.11.2014

Между прочим, использование шага перед сборкой или после сборки не будет работать в Team Foundation Server. Он автоматически настраивает безопасность в каталоге сборки, чтобы предотвратить любые изменения файлов конфигурации во время процесса сборки, будь то события перед сборкой или события после сборки. Единственный результат использования cp - возврат ошибки «Доступ запрещен».

person Tatterdemalian    schedule 18.03.2011

Посмотрите трансформации конфигурации. http://msdn.microsoft.com/en-us/library/dd465326.aspx

person Ryan Cromwell    schedule 19.03.2011