winform把所有dll打包成一个exe

Posted 周大闯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了winform把所有dll打包成一个exe相关的知识,希望对你有一定的参考价值。

大家都知道做winform开发,是可以利用visual studio进行打包的,但是这种打包的方式需要双击安装,那么有没有什么方法,可以把winform程序打包成绿色版呢?当然,这里的“绿色版”也是相对的,如果您本地没有安装对应的.net Framework环境,也是无法运行的。 下面是本次winfrom程序打包演示的程序,及程序结构

技术图片

技术图片

1、利用微软官方工具ILMerge合并程序集

a、将visual studio生成的dll,exe打包成一个exe文件,我们需要用到ILMerge,ILMerge是微软官方提供的程序,下载地址:http://url.cn/JFazNb。下载完ILMerge单击安装,这里我们把ILMerge安装在目录C:Program FilesILMerge下。安装完后ILMerge的目录结构如下:

技术图片

b、将需要合并的程序集,复制到C:Program FilesILMerge下,这样更容易操作,复制后,目录结构如下:

技术图片

c、调出cmd窗口,进入ILMerge的安装路径 

输入命令行cd C:Program FilesILMerge 

输入命令行ILMerge.exe /ndebug /target:winexe /out:合并.exe winformdemo.exe /log Interop.AcrobatScan.dll 

会提示ILMerge: Done. 

合并完后,ILMerge的安装路径如图所示,多了合并.exe文件,至此,程序集合并完成!

技术图片

2、利用ILMerge-GUI, the .NET merger合并程序集

DOS界面是否太麻烦了?别急,还有基于ILMerge的图形化工具,图像化的ILMerge软件ILMerge-GUI的下载地址是:http://url.cn/TcXlTV,安装此程序前,必须有.net framework 4环境。

a、下载完ILMerge-GUI后,安装

技术图片

b、"Add assembiles",添加需要合并的程序,

技术图片

c、"Output assembly",选择合并后exe的生成路径

技术图片

d、其他选项根据需要自己选择,选择完毕后,单击“Merger!”,合并完成后会有“the assembiles were merged!”的提示

技术图片

以上是关于winform把所有dll打包成一个exe的主要内容,如果未能解决你的问题,请参考以下文章

将Winform程序及dll打包成可执行的exe

c# winform 中 怎样把dll封装到exe中

我写了一个winform程序,怎么整体打包为一个EXE

C#如何用程序把文本文件打包成dll文件

winform项目打包后生成一个exe安装包

winform程序APPCRASH,KERNELBASE.dll错误