# 1、通过vs自带的NuGet下载ILMerge
2、下载后在解决方案所在目录下找到
packages\ILMerge.3.0.41\tools\net452
看到exe文件就可以使用了
3、WIN+ R 进入CMD
4、进入ILmerge所在的目录
进盘用
D:
命令 D为盘符,具体根据自己的来
进入后,复制
解决方案所在目录\packages\ILMerge.3.0.41\tools\net452
输入ILMerge
出现以下界面即可
5、将dll合并进exe
ILMerge /ndebug /target:winexe /targetplatform:v4 /out:C:\Users\Desktop\test\BMCDebugTool.exe /log C:\Users\Desktop\test\BMCDebugToolUI.exe C:\Users\Desktop\test\BMCDebugToolBLL.dll C:\Users\Desktop\test\BMCDebugToolCom.dll C:\Users\Desktop\test\BMCDebugToolModel.dll
这里是将BMCDebugToolUI.exe 、BMCDebugToolBLL.dll 、BMCDebugToolCom.dll 、BMCDebugToolModel.dll 三个dll合并到BMCDebugTool.exe
说明:
/ndebug参数 Release 下的文件
/target:winexe 输出平台 这里默认就可以
//targetplatform:v4 这里是.Net框架版本,我这里是4.5.2 只写V4就可以,不可以写到具体版本号,会报错
/out: 输出文件 这里输出exe文件,也可以输出dll文件
/log 所有的要打包的都放在这里 注意路径以及exe文件要在第一个 /log 输入一次即可,不用每个文件都输入
5、生成dll示例
ILMerge /ndebug /target:library /targetplatform:v4 /out:C:\Users\Desktop\test\BMCDebugToolB.dll /log C:\Users\Desktop\test\log4net.dll C:\Users\xueyongan\Desktop\test\NPOI.dll C:\Users\Desktop\test\BouncyCastle.Crypto.dll C:\Users\Desktop\test\ICSharpCode.SharpZipLib.dll
注意
- target要写 /target:library
- 如果dll有依赖项,依赖项也必须添加进去,这里的NPOI 在NuGet中下载的最新版,依赖BouncyCastle.Crypto.dll 和ICSharpCode.SharpZipLib.dll,如果不添加进去,会一致报错
结束
最后DOS窗口出现done 无报错则可用