ILMerge将winform程序打包成一个单文件可执行exe
来源:互联网 发布:spring 源码书籍推荐 编辑:程序博客网 时间:2024/06/16 12:56
去这里下载:
这里下载ILMerge,http://www.microsoft.com/en-us/download/details.aspx?id=17630
这里下载ILMerge-GUI,http://ilmergegui.codeplex.com/
这两部分都是必须的,第一个是命令行的,不好用。第二个是第一个大GUI封装,使第一个工具好用多了!
ILmerge-GUI是用来将一系列的exe,dll文件装载打包成一个exe文件。很好用!
ilmerge命令解析和实例
有时候要发布的软件会包含多个程序集,如果能把多个程序集合成一个有时会比较方便使用。
ILMerge.exe就是用于将多个程序集合并的工具。
官法下载地址: http://www.microsoft.com/en-us/download/details.aspx?id=17630
安装后可在命令提示符中使用。
命令内容:
Usage: ilmerge [/lib:directory]* [/log[:filename]] [/keyfile:filename [/delaysign]] [/internalize[:filename]] [/t[arget]:(library|exe|winexe)] [/closed] [/ndebug] [/ver:version] [/copyattrs [/allowMultiple] [/keepFirst]] [/xmldocs] [/attr:filename][/targetplatform:<version>[,<platformdir>] | /v1 | /v1.1 | /v2 | /v4] [/useFullPublicKeyForReferences][/wildcards] [/zeroPeKind] [/allowDup:type]* [/union] [/align:n]/out:filename <primary assembly> [<other assemblies>...]
其中这两个是必须的参数:/out:filename <primary assembly>
out:filename 表示输出的程序集名,<primary assembly>
表示输入的主程序集名。下面是一个实例:
ilmerge.exe /t:winexe /targetplatform:v2 /out:Jihua.cnblogs.com.new.exe jihua.cnblogs.com.exe Interop.IWshRuntimeLibrary.dll
D:\WorkSoftware\ILMerge>ilmerge.exe /t:winexe /targetplatform:v4 /out:C:\Users\Wu\Desktop\Baidu\BaiduAPITest\bin\Debug\qqq.exe C:\Users\Wu\Desktop\Baidu\BaiduAPITest\bin\Debug\BaiduAPITest.exe C:\Users\Wu\Desktop\Baidu\BaiduAPITest\bin\Debug\Newtonsoft.Json.dll
ILMerge使用,dll类库合并
最近做了一个数据成图组件,是对一个com控件的二次开发。
该com控件是个窗体控件在使用过程中自动生成了以AxInterop开头的AxInterop.****.dll
和以Interop.开头的Interop.****.dll
两个中间类,而这两个类放置的位置必须与最终的窗体同目录。
我开发的.net组件名称为:DCGjogis.dll,假设调用该组件生成的windows窗体程序为AAA.exe,要求AAA.exe
与DCGjogis.dll
同目录,因此结果就是,该目录下包含4个文件,分别为:AAA.exe,DCGjogis.dll,AxInterop.****.dll,Interop.****.dll
而要求是该目录下只能包含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
都需要重新合并制作。
通过合并,最终实现了AAA.exe,DCGjogis.dll
同目录,即可运行。
- ILMerge将winform程序打包成一个单文件可执行exe
- 将Python.py文件打包为.exe可执行程序
- 应用exe4j将java程序打包成可执行的exe
- 将可执行的jar打包成exe文件
- WINFORM程序打包EXE文件
- 将一个java程序打包成一个可执行程序
- 将一个java程序打包成一个可执行程序
- 如何将一个java程序打包成一个可执行程序
- Python程序打包成.exe可执行程序
- 将python程序打包成exe文件
- 将python程序打包成.exe文件
- 将python程序打包成exe文件
- python3将程序打包成.exe文件
- Python 打包单文件可执行程序
- C#中用ILMerge将所有引用的DLL和exe文件打成一个exe文件
- C#中用ILMerge将所有引用的DLL和exe文件打成一个exe文件
- 使用ILMerge将所有引用的DLL和exe文件打成一个exe文件
- 将matlab的.m文件打包为独立可执行程序.exe —— 基于Matlab R2015b
- 码流 / 码率 / 比特率 / 帧速率 / 分辨率 / 高清的区别
- C++语言的函数重载、重写、覆盖的示例,及C++多态的两种方法
- CentOS OpenVAS的搭建
- 高性能场景下,HashMap的优化使用建议
- ubuntu 安装 jdk7
- ILMerge将winform程序打包成一个单文件可执行exe
- Complex Number Multiplication问题及解法
- android开发连接
- 删数问题
- 在linux内核中读写文件
- Greenplum4.3管理员指南
- 通达OA2017破解补丁,通达oa破解版,通达oa最新破解版
- 装完WIN2008如何在桌面显示图标
- 面试总结