ILMerge的使用
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的工作就完成了。我们点击运行试试看

文章介绍了如何使用ILMerge工具将dll和exe文件合并成一个程序集,以简化部署。首先创建了一个WPF应用和一个类库,然后通过NuGet添加ILMerge引用,设置项目为Release模式并修改调试信息。接着,在项目文件中添加ILMerge的Target指令进行文件合并,并删除不必要的依赖文件。最终,通过运行生成的文件验证了合并过程的成功。
4528

被折叠的 条评论
为什么被折叠?



