如何在Visual Studio 2012中执行自定义配置文件转换

时间:2013-01-22 09:01:22

标签: .net configuration app-config transform .net-4.5

我正在构建一个.NET 4.5应用程序,最终我通过ILMerge运行,最后生成一个.exe和一个.exe.config

我有一个帖子构建活动,可以做两件事。

  1. 运行ILMerge并将组合的程序集放在$(ProjectDir)\ Lib \
  2. Xcopy bin \ orignial.exe.config => $(PROJECTDIR)\ lib中\ combined.exe.config
  3. 我需要执行的最后一步是清理配置文件的内容。需要替换原始配置中的任何类型+程序集引用,说明该类型现在位于新程序集中。例如,该应用程序还使用并合并Unity,因此在原始的.config中,该部分条目为

    <section name="unity" 
         type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection,
               ***Microsoft.Practices.Unity.Configuration***" />
    

    在合并的程序集中,需要更改为

    <section name="unity" 
         type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection,
               ***Combined***" />
    

    我知道有一个内置的配置文件转换工具,用于根据您正在执行的构建(调试/发布)来更改配置文件。只是想知道这可以用于定制目的,还是我会被手工制作一些发现&amp; amp;替换代码。

1 个答案:

答案 0 :(得分:0)

我决定使用CTT;命令行XDT转换工具。

http://ctt.codeplex.com/

http://outcoldman.com/en/blog/show/223

似乎它将与ILMerge一起完成我需要的工作。