Можем ли мы иметь несколько файлов App.Config в консольном приложении .NET? - PullRequest
9 голосов
/ 16 декабря 2010

У меня есть консольное приложение , в котором есть файл App.Confile. Теперь параметры, относящиеся к конкретной среде, сохраняются здесь.

Теперь я думаю иметь несколько файлов app.config (например, app.dev.config, app.test.config и app.prod.config ), как мы может иметь несколько файлов Web.Config.

В случае веб-приложения мы можем справиться с этим, и ConfigurationManager выберет соответствующий файл Web.Config.

В случае консольного приложения я не уверен. Если да, как мы можем иметь несколько файлов app.config?

Ценю вашу помощь.

Спасибо

Ответы [ 2 ]

10 голосов
/ 16 декабря 2010

Чтобы продолжить ответ Бабака, вы также можете разделить части вашей конфигурации в другие файлы конфигурации, используя атрибут configSource для любого элемента, который представляет ConfigurationSection, например:

<appSettings configSource="appSettings.config" />

И в appSettings.config :

<?xml version="1.0" encoding="UTF-8"?>
<appSettings>
    <add key="Blah" value="Nim nim nim" />
</appSettings>
8 голосов
/ 16 декабря 2010

UPDATE

С Visual Studio 2010 и 2012 вы все это интегрированы в IDE. Если вы щелкнете правой кнопкой мыши по вашему файлу конфигурации, VS даст вам возможность создать конфигурацию преобразования для каждой из ваших конфигураций сборки. Если вам нужно было создать конфигурацию сборки для каждой из ваших сред, MSBuild автоматически сгенерирует правильный Web.config / app.config для вас.

Краткий ответ , да. Вы можете иметь разные файлы и в своем скрипте сборки, но вам нужно будет переименовать правильный файл в «App.config», и все готово (перед компиляцией).

Длинный ответ , что вы должны использовать, это инструмент MergeConfiguration Enterprise Library. Это позволяет использовать существующий файл App.config в качестве основы и определять дельты для среды. Инструмент объединит основание и дельту для генерации конфигурационных файлов, специфичных для среды. Вам все еще понадобится некоторая логика в скрипте сборки, чтобы применить правильный файл конфигурации.

Когда вы устанавливаете Enterprise Library на свой компьютер, вы можете щелкнуть правой кнопкой мыши файл конфигурации в Visual Studio и отредактировать его с помощью инструмента конфигурации. Это можно использовать для определения ваших сред, а также параметров приложения и строк подключения, которые необходимо переопределить для каждой среды.

http://entlib.codeplex.com/

...