Visual Studio: различать app.config для режима отладки и выпуска
Есть ли способ автоматически использовать отдельный app.config при создании в режиме выпуска?
Другими словами, я хочу протестировать один файл app.config и освободить его с помощью другого.
В настоящее время я сохраняю отдельную копию под названием app.config.production и вручную перезаписываю bin\Release\Application.exe.config после сборки для выпуска.
Ответы
Ответ 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, такие как $(Конфигурация).