Я использую VS2010 C#.NET 3.5 и параметры настройки приложения (файл Settings.settings). То, что я хочу сделать, имеют различные настройки для моих сред разработки и продуктивных сред, не имея необходимость замусорить мой код проверкой условных операторов режим отладки. Что общий подход к этой проблеме?
Или вы можете просто создать отдельные файлы конфигурации и называть их:
Release.settings
Debug.settings
, а затем настроить события условной сборки которые скопируют соответствующий файл .config в Settings.Settings
if $(ConfigurationName) == Debug xcopy debug.settings settings.settings
if $(ConfigurationName) == Release xcopy release.settings settings.settings
Мы никогда не отменяем наш файл web.config в производственных системах. Если добавлены дополнительные настройки / ключи, мы их вставляем во время публикации.
Если вы используете проекты веб-развертывания, вы можете настроить его так, чтобы различные части вашего web.config были заменены. Вы можете прочитать о них подробнее здесь: http://weblogs.asp.net/scottgu/archive/2005/11/06/429723.aspx .
Другой подход, который мы на самом деле применяем в моей текущей работе, - это иметь несколько файлов web.config - по одному для каждой среды (например, web.config, web.config.production). Затем, когда мы создаем для развертывания, мы используем msbuild для автоматической замены файла web.config.production в качестве файла web.config.
Я думаю, что это недостаток файлов xxx.config. Поэтому я использую собственный менеджер конфигураций, который можно использовать с разными конфигурациями на каждой машине, где установлено/используется приложение.
Предполагая, что вы имеете в виду значения настроек, я думаю, что лучший способ сделать это - поместить все значения производственной среды в комментарий в файле настроек . Или установите их только при развертывании приложения.
В .Net нет реального встроенного механизма для этого, если вам это нужно.
На моей текущей работе у нас есть небольшой инструмент командной строки, который устанавливает все значения в соответствии с заданной средой. Конфигурация выполняется в базе данных.
В моей предыдущей работе мы никогда не копировали файл конфигурации в каталог развертывания, а скорее меняли файлы вручную, если это необходимо.
мы используем сценарий NAnt для создания нашего решения, замены значений параметров в файле конфигурации, запуска тестов и публикации.
Это довольно просто, если вы настроите его один или два раза.