Подтвердить что ты не робот

Visual Studio: различать app.config для режима отладки и выпуска

Есть ли способ автоматически использовать отдельный app.config при создании в режиме выпуска?

Другими словами, я хочу протестировать один файл app.config и освободить его с помощью другого.

В настоящее время я сохраняю отдельную копию под названием app.config.production и вручную перезаписываю bin\Release\Application.exe.config после сборки для выпуска.

4b9b3361

Ответ 1

Недавно я опубликовал в высшей степени запоздалый ответ на аналогичную тему SO: fooobar.com/questions/253722/...

Я повторю его здесь для ясности:

Это немного поздно для вечеринки, но я наткнулся на хороший способ реализации подхода web.transform для файлов app.config. (т.е. использует пространство имен http://schemas.microsoft.com/XML-Document-Transform)

Я думаю, что это "хорошо", потому что это чистый xml-подход и не требует стороннего программного обеспечения.

Файл родительского/по умолчанию App.config происходит, согласно вашим различным конфигурациям сборки. Затем эти потомки переопределяют то, что им нужно. На мой взгляд, это намного сложнее и надежнее, чем поддерживать x количество файлов конфигурации, которые копируются полностью, например, в других ответах.

Здесь вы найдете пошаговое руководство: http://mitasoft.wordpress.com/2011/09/28/multipleappconfig/


Посмотрите, мама. Нет явных событий после сборки в моей среде IDE!

Ответ 2

Простым и быстрым способом является создание второго файла "App.release.config" и вставка этого события предварительной сборки:

IF $(ConfigurationName) == Release COPY /Y "$(ProjectDir)App.config" "$(ProjectDir)App.debug.config"
IF $(ConfigurationName) == Release COPY /Y "$(ProjectDir)App.release.config" "$(ProjectDir)App.config"

И это событие post build:

IF $(ConfigurationName) == Release COPY /Y "$(ProjectDir)App.debug.config" "$(ProjectDir)App.config"

Это может быть немного странно, но это позволит вам использовать файлы .Settings в качестве параметров отладки, которые все еще связаны с App.config. App.release.config должен быть создан вручную, но довольно легко переключить эту функцию.

Ответ 3

Я очень рекомендую SlowCheetah для преобразований app.config. Посетите этот драгоценный камень nuget здесь Галерея Visual Studio

Ответ 4

Я не знаю, помогает ли это, но app.config распознает стандартные строки подстановки MSBUILD, такие как $(Конфигурация).