dll合并,exe合并。ILMerge的使用详解,VS项目开发

demo地址

https://gitee.com/chenheze90/l09_lilmerge

背景

ILMerge是一个微软提供的工具。主要用途是将dll或者exe合并在一起。打包成一个程序集可以避免发布或者部署程序的时候触发依赖而导致的问题。

创建项目

我们以一个wpfapp为例
在这里插入图片描述
再创建一个类库,用于合并
在这里插入图片描述
类库实现一个加法功能

在这里插入图片描述
主界面调用类库的加法

在这里插入图片描述
首先要添加引用

在这里插入图片描述

在这里插入图片描述
完成之后执行代码,结果如图
在这里插入图片描述
查看debug下的文件,主程序exe和类库dll都在
在这里插入图片描述

NuGet添加ILMerge引用

右键点击项目,选择管理Nuget程序包,查找并下载ILMerge

在这里插入图片描述
将项目改为release,这样不生成pdb文件
在这里插入图片描述
点击下面的“高级”按钮,将调试信息改为无
在这里插入图片描述

编辑主项目的项目文件
在这里插入图片描述
在最后加上下面这两句
在这里插入图片描述

<Target Name="ILMerge">
	<Exec Command="$(ILMergeConsolePath) bin\Release\WpfApp1.exe /out:bin\Release\WpfApp1.exe bin\Release\Bll.dll" />
</Target >


<Target Name="_ProjectRemoveDependencyFiles" AfterTargets="AfterBuild" DependsOnTargets="ILMerge">
	<ItemGroup>
		<_ProjectDependencyFile Include="bin\Release\Bll.dll" />
	</ItemGroup>
	<Delete Files="@(_ProjectDependencyFile)" />
</Target>

1./out:之后的,就是要合并的程序,第一个是合并的dll/exe,后面是被合并的dll。
2.第二个Target是为了保证生成的时候去执行第一个ILMerge的Target指令。

修改如下
在这里插入图片描述
先删除release下的所有文件,点击生成

在这里插入图片描述
如此,合并dll的工作就完成了。我们点击运行试试看
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值