我正在构建一个 .NET 4.5 应用程序,我最终通过 ILMerge 运行它以在最后生成一个.exe
和一个.exe.config
。
我有一个构建后事件,它做了两件事。
- 运行 ILMerge 并将组合程序集放在 $(ProjectDir)\Lib\
- Xcopy bin\orignial.exe.config => $(ProjectDir)\lib\combined.exe.config
我需要执行的最后一步是清理配置文件的内容。原始配置中的任何类型+程序集引用都需要替换,说明该类型现在位于新程序集中。例如,该应用程序还在Unity
original.exe.config 中使用并合并了该部分条目是
<section name="unity"
type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection,
***Microsoft.Practices.Unity.Configuration***" />
而在合并的程序集中,它需要更改为
<section name="unity"
type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection,
***Combined***" />
我知道有一个内置的配置文件转换工具,用于根据您正在执行的构建(调试/发布)更改配置文件。只是想知道这可以用于自定义目的,还是我会被困在手工制作一些查找和替换代码。