C#中用ILMerge将所有引用的DLL和exe文件打成一个exe文件,有图解

今天做了一个软件,想发布的时候才发现调用的类没几个,就像把它们都跟EXE文件打包在一起,以后复制去别的地方用也方便,于是上网搜了一下,发现网上大部分都是用ILMerge实现的,于是也自己试了一下,不过网上都没有详细的步骤演示,我就花点时间做了个教程,方便以后再有人想打包自己的程序,有篇文章可以参考,好了废话少说,马上开始:

1.先到http://www.microsoft.com/downloads/details.aspx?FamilyID=22914587-B4AD-4EAE-87CF-B14AE6A939B0&displaylang=en下载ILMerge,才600多K,一下子就下好了.

 C#中用ILMerge将所有引用的DLL和exe文件打成一个exe文件,有图解

 

2.下载后是安装:

 C#中用ILMerge将所有引用的DLL和exe文件打成一个exe文件,有图解

 

3.不到一分钟就可以安装完毕:

C#中用ILMerge将所有引用的DLL和exe文件打成一个exe文件,有图解

 

4.我是安装在I盘下ILMerge目录下,以下是安装后的文件,就一个ILMerge.exe文件而已,我们等会就是用它打包程序的.

C#中用ILMerge将所有引用的DLL和exe文件打成一个exe文件,有图解

 

5.为了演示,我重新建了个工程,最后生成的是 Main.exe 和 newDll文件,其中newDll是Main.exe 中要引用的Dll文件,为了演示方便,我将它们都复制到了ILMerge的目录下,现在我们就试着用ILMerge将newDll和Main.exe文件打包起来吧.

C#中用ILMerge将所有引用的DLL和exe文件打成一个exe文件,有图解

 

6.然后进入dos窗口,进入ILMerge目录,然后执行下面代码:

I:\ILMerge\ILMerge.exe /ndebug /target:winexe  /out:newclient.exe MainExe.exe  /log newDll.dll

C#中用ILMerge将所有引用的DLL和exe文件打成一个exe文件,有图解

 

 

 

7.ILMerge运行时的窗口,此时它正在努力的将Main.exe和newDll文件捆绑在一起:

C#中用ILMerge将所有引用的DLL和exe文件打成一个exe文件,有图解

 

 

8.DOS窗口关闭后,我们在去ILMerge目录下看看,此时已经生成好了我们想要的newclient.exe文件,它就是Main.exe和newDll.dll的结合体啦:

 C#中用ILMerge将所有引用的DLL和exe文件打成一个exe文件,有图解

 

 

以上实验在WIN7下.net framework3.5 平台,vs2008环境中测试通过




本文转自黄聪博客园博客,原文链接:http://www.cnblogs.com/huangcong/archive/2010/03/28/1698973.html,如需转载请自行联系原作者

上一篇:android 自定义view 缓存技术


下一篇:看我出招之:svchost.exe文件删不得