VS工程的“多dll与exe文件合并”

 运行环境

VS工程的“多dll与exe文件合并”_第1张图片

VS工程的“多dll与exe文件合并”_第2张图片

ILMerge插件

1、打开 VS的“工具 - NuGet包管理器 - 管理解决方案的NuGet程序包”

VS工程的“多dll与exe文件合并”_第3张图片

2、在浏览中搜索“ILMerge”,在官方源中,3.0.41版本的插件已不支持使用了

VS工程的“多dll与exe文件合并”_第4张图片

3、下拉列表其他版本可以安装,使用3.0.40

VS工程的“多dll与exe文件合并”_第5张图片

VS工程的“多dll与exe文件合并”_第6张图片

4、下载封装好的“ILMerge”任务插件“MSBuild.ILMerge.Task”

VS工程的“多dll与exe文件合并”_第7张图片

5、工程中添加图示3个文件

VS工程的“多dll与exe文件合并”_第8张图片

6、重新生成工程后,只剩余一个dll文件

其他dll文件均被封装

VS工程的“多dll与exe文件合并”_第9张图片

VS工程的“多dll与exe文件合并”_第10张图片

7、取消ILMerge插件后,正常生成多个dll

VS工程的“多dll与exe文件合并”_第11张图片

VS工程的“多dll与exe文件合并”_第12张图片

ILRepack插件

1、安装插件

ILRepack
ILRepack.Lib.MSBuild.Task

VS工程的“多dll与exe文件合并”_第13张图片

2、编写脚本
#用于获取下一条语句中的dll名称
dir /b *.dll*>test.txt    
#执行合并指令
..\..\..\packages\ILRepack.2.0.18\tools\ILRepack /out:MergeDll.dll MergeDll.dll Microsoft.Bcl.AsyncInterfaces.dll Newtonsoft.Json.dll System.Buffers.dll System.Memory.dll System.Numerics.Vectors.dll System.Runtime.CompilerServices.Unsafe.dll System.Text.Encodings.Web.dll System.Text.Json.dll System.Threading.Tasks.Extensions.dll System.ValueTuple.dll
#暂停,查看合并信息
pause

VS工程的“多dll与exe文件合并”_第14张图片

VS工程的“多dll与exe文件合并”_第15张图片

你可能感兴趣的:(#,C#,visual,studio)