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