2

У меня есть простой веб-сайт ASP.NET MVC. Он имеет режимы конфигурации Debug, Testing и Release.Возможно, существуют разные файлы web.config для проекта Team Foundation Server?

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

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

ответ

3

Вы могли бы сделать pre-build step

Допустим, вы проверили в

  • /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

+1

Любовь к новым материалам, идущим в VS2010 и т. Д. :) С вашей идеей, приведенной выше, это просто копирует наш файл поверх файла web.config в пункт назначения (используя команду cp), поэтому исходный файл web.config не запутался, правильно? –

+0

Да, я предполагаю, что у вас даже не было бы web.config в вашем проекте, там будут только debug.web.config и release.web.config, а затем всякий раз, когда вы создадите правильную веб-конфигурацию, место. Но да, ваша исходная веб-конфигурация не должна быть запутана;) Конечно, это не проверено, поэтому убедитесь, что все происходит в правильных каталогах, а что нет. – TJB

+0

Visual Studio 2014 отправляется, и muti webconfig для локальных разработчиков по-прежнему не поддерживается. какой шар болит – ppumkin

2

Кстати, использование Team Pre-build или пост-сборки не будет работать в Team Foundation Server. Он автоматически настраивает безопасность в каталоге сборки, чтобы предотвратить внесение каких-либо изменений в файлы конфигурации во время процесса сборки, будь то события предварительной сборки или события после сборки. Единственный результат использования cp - вернуть ошибку «Access denied».