天天看点

c#合并dll到exe程序(ILMerge)

一、介绍对象ILMerge

可以合并dll 程序集到exe程序中

二、安装引用

1.ILmerge

2.MSBuild.ILMerge.Task

c#合并dll到exe程序(ILMerge)

三、安装前

创建一控制台程序,添加任意引用,这里我随意安装一个nuget包

Newtonsoft.Json,生成项目。

c#合并dll到exe程序(ILMerge)

打开debug目录:

c#合并dll到exe程序(ILMerge)

四、安装ILMerge后

重新生成项目,打开debug目录

c#合并dll到exe程序(ILMerge)

可以看到安装ILMerge后,之前安装的Newtonsoft.Json.dll不见了,那么是不是意味着该程序集就不能够使用呢?带着问题我们来测试一下

五、测试

首先添加简单测试代码

// An highlighted block
 string json = "{\"Key\":\"czj\"}";
 dynamic dynamic = Newtonsoft.Json.JsonConvert.DeserializeObject(json);
 Console.WriteLine(dynamic.Key);
 Console.ReadKey();
           

输出==> 可以看到成功输出了结果,说明似然dll消失了,但不会不影响使用

c#合并dll到exe程序(ILMerge)