Как выбрать разные app.config для нескольких конфигураций сборки

У меня есть проект типа dll , который содержит интеграционные тесты MSTest. На моей машине тесты проходят, и я хочу, чтобы то же самое произошло на CI-сервере (я использую TeamCity). Но тесты не проходят, потому что мне нужно настроить некоторые параметры в app.config. Вот почему я подумал о том, чтобы создать отдельный второй файл app.config, в котором будут храниться настройки для CI-сервера.

Итак, я хотел бы иметь

/Sln
 /Proj
  app.config (I think this is required by VS)
  app.Release.config (This is a standalone independent config file)

Таким образом, если я выберу Release configuration в конфигурации сборки на CI, я хотел бы использовать файл app.Release.config вместо app.config

Проблема
Это не ' Это кажется простым для простых проектов типа .dll. Для веб-проектов я могу выполнять преобразования веб-конфигурации. Я нашел хитрость, как делать эти преобразования для проекта типа dll, но я не большой поклонник хаков.

Вопрос
Каков стандартный подход к настройке файлов app.config в зависимости от конфигурации сборки для проектов .NET (таких как Debug, Release, ...)?

114
задан oleksii 10 May 2013 в 12:11
поделиться