streda, 11. júla 2007

IL Merge - spájanie viacero .NET assemblies do jednej

Včera som potreboval spojiť viacero .NET assemblies (jedna .exe a viacero .dll) do jednej. Vytvoril som jednoduchú WinForms aplikáciu, ktorá sa mala distribuovať iba kopírovaním (nechcel som použiť inštaláciu ani ClickOnce). Obsahovala jeden .exe súbor, viacero .dll a konfiguračný súbor.

Na spájanie assemblies je určená utilita IL Merge. Pre konfiguračný súbor (app.config) som nastavil build action na embedded resource, čím sa stal súčasťou .exe súboru. Potom som v post-build event spustil IL Merge:

"c:\Program Files\Microsoft\ILMerge\ILMerge.exe"
/out:SingleAssembly.exe MyApp.exe Library1.dll Library2.dll Library3.dll


Výsledkom je jediný súbor SingleAssembly.exe

Žiadne komentáre: