Против установки целевого проекта приложение.конфигурация внутри.objx86Release
Я создал преобразование app.config
для моего проекта WinForms, используя решение Дэна Абрамоваздесь . Работает отлично, и конфигурационный файл преобразуется и присутствует в правильной папке obj.
Когда я смотрю на выходные данные для основного вывода моего приложения, оно получает app.config
из каталога проекта вместо соответствующей папки obj, как и все остальное...большая оплошность, на мой взгляд, со стороны MSFT. Очевидно, что они не имели в виду преобразования для всех конфигурационных файлов типы.
Итак, как мне получить первичный вывод моего основного проекта для вывода файла конфигурации из папки obj на основе конфигурации сборки?
2 ответа:
Вы пробовали использовать SlowCheetah (расширение VS), которое позволяет преобразовать приложение.настраивается так же, как и web.конфиг работает. Также ваш сценарий для преобразования приложения.поддерживается конфигурация для проекта установки.
Я нашел работу, которую искал здесь. Прокрутите страницу вниз и посмотрите ответ какоскина. В сочетании с решением Дэна Абрамовая смог получить результаты, которые искал. Вот код MSBuild, который я использовал:
<Target Name="AfterBuild" Condition="exists('app.$(Configuration).config')"> <TransformXml Source="app.config" Destination="$(IntermediateOutputPath)$(TargetFileName).config" Transform="app.$(Configuration).config" /> <!-- Force build process to use the transformed configuration file from now on. --> <ItemGroup> <AppConfigWithTargetPath Remove="app.config" /> <AppConfigWithTargetPath Include="$(IntermediateOutputPath)$(TargetFileName).config"> <TargetPath>$(TargetFileName).config</TargetPath> </AppConfigWithTargetPath> </ItemGroup> <TransformXml Source="App.config" Transform="app.$(Configuration).config" Destination="App.Transformed.config" />
Раздел
<ItemGroup>
удалит приложение.конфигурационный файл из соответствующей папки obj\ и заменить его преобразованным конфигурационным файлом, который не нужен, Но я оставил его там в любом случае.Надеюсь, это поможет другим как хорошо!