У кого-нибудь есть хорошие советы по обработке различий в настройках web.config между средами? Я подумал о создании папки "config" в нашей системе управления версиями, но за пределами веб-иерархии, а процесс развертывания копирует соответствующие файлы конфигурации (web.dev.config, web.staging.config, web.production.config ) в веб-папку после развертывания. Я также видел сообщения о том, как программно изменять настройки конфигурации (конечные точки WCF, строки подключения и т.д.), Когда приложение запускается.
Что считается наилучшей практикой здесь и какой опыт имеет каждый с этими или другими подходами?
Обновление сентябрь 2010
Стоит отметить, что Visual Studio 2010 добавляет эту способность через web.config преобразует. Когда вы используете диспетчер конфигурации сборки (Build | Configuration Manager...) для создания различных конфигураций для вашего проекта (скажем, Debug, Dev, Staging and Release), VS добавляет в решение файлы конфигурации. *. Config. По умолчанию web.config содержит параметры базовой линии, которые вы будете использовать для отладки. web.release.config, web.staging.config и т.д. содержат преобразования XSLT, которые будут применяться каждый раз, когда вы публикуете проект на основе конфигурации активной сборки.