ILMerge-Gui桌面版可以輕松的把.NET應用程序引用的dll、xml都合并到一個單文件里。ILMerge合并多個DLL,如果你的項目要提供多個dll給別人用,那么不妨讓你的dll合并為一個,讓別人看起來簡潔,引用起來不會過于繁瑣。
微軟提供了.NET程序集的合并解決方案:ILMerge
這個工具是基于命令行的,使用起來有些不方便,后來找了這款GUI工具:ILMergeGui
這是一個開源項目,目前更新還算活躍,已支持最新版.NET4.6。
使用方法:
該目錄下只能包含AAA.exe,DCGjogis.dll兩個文件,剩余的AxInterop.****.dll,Interop.****.dll兩個文件必須放置在指定的文件夾中。
為了解決這個問題,研究了好久,都沒有什么好的辦法,后來終于找到一個取巧的辦法,就是使用ILMerge合并dll類庫。
1、下載并安裝ILMerge.exe
2、我的安裝目錄是:D:\Program Files (x86)\ILMerge,然后在cmd命令中,進入該目錄
3、在該目錄下運行ILMerge.exe命令,我的命令是:
ILMerge.exe /ndebug /target:library /out:DCGjogis.dll DLL/DCGjogis.dll /log DLL/AxInterop.****.dll DLL/Interop.****..dll
/target 是輸出類型;/out是輸出dll類名稱;/log是要合并的dll類名稱,由于我的其它類是放置在“DLL”目錄下,因此帶有路徑。
注意:
1、原始DCGjogis.dll自身包含其它引用類,都需要放置在與原始DCGjogis.dll相同的目錄下。
2、如果原始DCGjogis.dll自身包含其它引用類,而其它引用類是相對路徑的話,那么其它引用類每次更新,合并DCGjogis.dll都需要重新合并制作。
通過合并,最終實現(xiàn)了AAA.exe,DCGjogis.dll同目錄,即可運行。