私は.NET 4.5アプリケーションを構築しています。最終的にILMergeを実行して、最後にシングル.exe
とシングルを生成し.exe.config
ます。
2 つのことを行うビルド後のイベントがあります。
- 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***" />
実行中のビルド (デバッグ/リリース) に基づいて構成ファイルを変更するための構成ファイル変換ツールが組み込まれていることは知っています。これをカスタムの目的で活用できるのか、それとも検索と置換のコードを手作業で作成する必要があるのか 疑問に思っています。