合并多个dll为一个dll

有时候自己写个小工具或者其它啥的物件,引用了好多第三方控件,如log4net,aspnetpager啥的,发布出去让别人看到自己竟然用了这么多的第三方DLL,

会对自己的能力产生怀疑,那有什么办法可以解决这种情况嗫?

这就是下面要推荐一个小工具,名称叫"ILMerge",这个东东不开源

使用倒也算简单,下载地址:http://www.microsoft.com/downloads/details.aspx?familyid=22914587-b4ad-4eae-87cf-b14ae6a939b0

使用方法非常简单

在项目属性窗口中,选择"生成事件",在"生成后事件命令行"下的文本框中输入

ilmerge /ndebug /t:dll /log c:\1\DevExpress.Data.v7.3.dll c:\1\DevExpress.OfficeSkins.v7.3.dll c:\1\DevExpress.Utils.v7.3.dll c:\1\log4net.dll /out:c:\1\kkun\Tstring.Core.DLL

然后编译就可以合并多个DLL到一个DLL了,

其中有两个非常重要的参数,更多的参数可以看安装后的帮助文件

/log 后边直接跟你要合并的DLL,多个DLL用空格隔开即可

/out:参数后跟要生成的DLL名称,该DLL可以实际存在,也可以不存在

更多高级技巧还要自己多看帮助,

这里有一些小技巧,例如,ILMerge合并后的DLL将默认使用第一个输入的DLL的AssemblyInfo的声明,

那现在你可以把自己写的DLL放在第一位,

而把类似log4net,aspnetpager等第三方DLL放到后面,这样生成的DLL就是你自己的AssemblyInfo了,

单看程序集别人基本上不会猜到你用了那些第三方控件了!呵呵!

帮助文件下载:https://files.cnblogs.com/kkun/ILMerge.rar

==========以上内容来自网上==============

posted @ 2015-09-16 10:23  殇曲?  阅读(3425)  评论(1编辑  收藏  举报