Я уверен, что каждый должен иметь дело с этими ситуациями, мы проверяем наше решение по управлению исходным кодом, и у каждой машины разработчика будут свои собственные ресурсы для отладки, сборки и тестирования.
Наиболее распространенным является:
- Веб-сервер (IIS)
- База данных (SQL)
Веб-сервер прост в обращении, каждая машина разработчика будет иметь свой собственный файл proj.user для указания различной отладочной информации.
Но строки подключения для приложения хранятся в web.config (который находится под контролем исходного кода), в идеале мы не хотим, чтобы web.config был «осведомлен», поэтому приходится делать разделы конфигурации, где мы делегируем их для других файлов конфигурации (не под sc) не будет лучшим решением ..
asp.net (.net?) Уже поддерживает модель с наследованием web.config, что было бы идеальным сценарием, однако это работает только для каталогов.
Было бы здорово, если бы у нас было
- web.config <- под управлением версией </li>
- web.machine.config <- не под контролем версий </li>
Конечно, я открыт для лучших предложений о том, как люди решают эту проблему.
Как и, может быть, иметь:
- web.base.config <- под управлением версией </li>
- web.machine.config <- не под контролем версий </li>
И наличие сценария сборки, который создает файл web.config, объединяя их?
Заранее спасибо,
Стивен.
редактировать
Похоже, что следующий против может иметь способ справиться с этим:
http://blogs.msdn.com/webdevtools/archive/2009/05/04/web-deployment-web-config-transformation.aspx
редактировать редактировать
Возможно, выполнимо сегодня с массовым обновлением xml:
http://blogs.microsoft.co.il/blogs/dorony/archive/2008/01/18/easy-configuration-deployment-with-msbuild-and-the-xmlmassupdate-task.aspx
редактировать редактировать редактировать
Ну, конечно, это возможно сделать с помощью простой задачи сборки xslt и небольшого преобразования, которое копирует все и перехватывает определенные свойства ... просто попробовал проверить концепцию, и это избавит нас от многих разочарований, но файл преобразования может быть более чем люди готовы принять.
По сути, мы храним Web.base.config в контроле версий и запускаем его через преобразование, чтобы сгенерировать Web.config для события сборки.
Похоже, что vs2010 действительно поможет с гораздо более дружественной версией этого.