0

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

我有一个构建后事件,它做了两件事。

  1. 运行 ILMerge 并将组合程序集放在 $(ProjectDir)\Lib\
  2. Xcopy bin\orignial.exe.config => $(ProjectDir)\lib\combined.exe.config

我需要执行的最后一步是清理配置文件的内容。原始配置中的任何类型+程序集引用都需要替换,说明该类型现在位于新程序集中。例如,该应用程序还在Unityoriginal.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***" />

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

4

1 回答 1

0

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

http://ctt.codeplex.com/

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

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

于 2013-01-22T15:05:45.827 回答