合并多个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了,
单看程序集别人基本上不会猜到你用了那些第三方控件了!呵呵!
帮助文件下载:http://files.cnblogs.com/kkun/ILMerge.rar
==========以上内容来自网上==============
合并多个dll为一个dll的更多相关文章
- C#中用ILMerge将所有引用的DLL打成一个DLL文件
有些文件是必须一起使用的,如果能把多个DLL打包成一个DLL文件,那么引用文件的时候就不需要一个个地去引用,而且每次移动文件的时候也不至于少了哪个必须的DLL文件. 多个DLL文件打包成一个DLL文件 ...
- 多个DLL合并成一个DLL
多个DLL合并成一个DLL,把DLL合并到Exe中的解决方案 1:) 下载 http://download.microsoft.com/download/1/3/4/1347C99E-9DFB-425 ...
- .Net将多个DLL打包为一个DLL(ILMerge)
在做.Net底层编码过程中,为了功能独立,有可能会生成多个DLL,引用时非常不便.这方面微软提供了一个ILMerge工具原版DOS工具,可以将多个DLL合并成一个.下载完成后需要安装一下,然后通过DO ...
- .net DLL程序集中打包另一个DLL
项目中做了一个通用组件的类库,类库中引用了几个第三方组件(DLL),组件发布给同事使用时,需要同时将这几个第三方的DLL一并复制过去,然后添加相关组件的引用. 如何能够将这些第三方的DLL直接打包到我 ...
- 怎样从一个DLL中导出一个C++类
原文作者:Alex Blekhman 翻译:朱金灿 原文来源: http://www.codeproject.com/KB/cpp/howto_export_cpp_classes.aspx 译 ...
- Windows 注册和取消注册一个dll或者ocx
原文:Windows 注册和取消注册一个dll或者ocx 一.DLL是什么 DLL,是Dynamic Link Library 的缩写形式,中文名称为动态链接库. DLL是 ...
- 编译最新的SQLite 3.8.4.3为一个DLL
SQLite是一个小型数据库.特别适合于client应用程序使用,它的众多优点就不多说了.有兴趣的去搜索. 话说使用吧. 我们要使用.就须要调用它.如今一步一步来. 第一步:上SQLite官网http ...
- 为何.NET Core控制台项目发布后是一个dll文件,而不是exe文件?
项目中有一个.NET Core控制台项目叫ConsoleCoreApp,写好代码后准备发布: 结果发布后生成的是一个dll文件...为不是一个exe的可执行文件: 后来了解到.NET Core的项目分 ...
- 检测一个DLL文件是x64还是x86
对于一个DLL,我们如何判定其是32位的还是64位的,或者是any cpu的platform? Visual Studio提供了一个很好的工具:corflags,这个是内嵌到Developer Com ...
随机推荐
- aspcms常见问题解决方案
1.产品详细页读取多张产品图片(栏目类型:产品){aspcms:cimages count=16 contentid=[content:id]}<li onmouseover="sho ...
- JS_Detail和Discipline
编码原则 Js控件代码3部曲 (1)设置元素的 状态 在onready中添加 (2)设置元素的 动作, 每个动作 封装成 function(enclosure) (3)remove load之前 删除 ...
- 关于STM32 CAN回环可用,正常不可用情况分析
1.回环下应该与GPIO无关 2.GPIO是否初始化正确,时钟启用 3.是否复用,AFIO时钟是否启用 4.回环下是否有CAN_Tx应该有输出 5.终端电阻是否有 6.CAN收发器电路电压是否正常 7 ...
- wamp2.5 不能运行在win2003的解决方法
安装时提示 httpd.exe 不是有效的 win32程序 之后就启动不了,连小icon都不显示了 经查发现 wampserver 2.5用 vc11编译,并使用了他的类库 vc11是不支持 xp和 ...
- Contractive Auto-Encoder
本博客已经迁往http://www.kemaswill.com/, 博客园这边也会继续更新, 欢迎关注~ Contractive Autoencoder(CAE)是Bengio等人在2011年提出的一 ...
- Qt编写自定义控件插件路过的坑及注意事项
在一日一控件的口号下,终于写好了五十几个自定义控件,包括各种仪表盘,各种温度计,各种进度条,各种按钮等,具体可参见(http://www.cnblogs.com/feiyangqingyun/p/61 ...
- RGB和HSB的转换推算
RGB三原色是基于人肉眼对光线的生理作用.人眼内有三种椎状体“对这三种光线频率所能感受的带宽最大,也能独立刺激这三种颜色的受光体”,因此RGB称为三原色.比如,黄色波长的光对人眼的刺激效果,和红色与绿 ...
- Fireasy新版本发布
1.5.40.42028 2015-2-4 ** Fireasy.Common 1.DynamicBuilder新增使用表达式SetCustomAttribute的重载方法 2.DateTimeEx ...
- 用C#实现修改网页数据
背景 由于某宝最近升级,导致朋友买的刷单软件不能用了:在又付过钱之后,那个刷单软件供应商竟然捐款跑路了...于是,朋友委托我做一个功能一样的软件.功能 他给我描述的软件功能,是这个样子的: ...
- 关于VSTO调用Excel后进程无法退出的解决方案:
VSTO的Excel对象模型提供了托管代码对Excel的操作.但是它的实现时通过RCW(Runtime Com Wrapper)实现的,所以无法完全按照托管代码的运行方式操作.COM的资源释放时通过引 ...