本文为原创文章,如转载,请在网页明显位置标明原文名称、做者及网址,谢谢!html
1、本文主要是使用Costura.Fody工具将源DLL合并到目标EXE,所以,须要从如下任一连接下载:git
②从百度网盘下载:工具
③【推荐】从Nuget地址安装工具:post
并从Visual Studio中的程序包管理器控制台进行安装:this
PM> Install-Package Costura.Fody -Version 1.6.2
注:最新版本请打开Nuget地址进行获取spa
2、安装以后,Costura.dll等已经被引用进来,以下图所示:3d
3、新建一个引用Newtonsoft.Json.dll的解决方案,这个就借用上一篇内容【[C#]使用ILMerge将源DLL合并到目标EXE(.NET4.6.2)】的例子,解决方案下载地址:code
代码以下:htm
using System; using System.Collections.Generic; using System.Linq; using System.Text; using Newtonsoft.Json; using Newtonsoft.Json.Linq; namespace ConsoleApp12 { class Program { static void Main(string[] args) { List<Person> list = new List<Person>() { new Person(){ ID = 1, Name = "ABC" }, new Person(){ ID = 2, Name = "XYZ" }, }; var result = JsonConvert.SerializeObject(list); JArray jArray = JArray.Parse(result); foreach(var item in jArray) { Console.WriteLine($"ID:{(int)item["ID"]},Name:{(string)item["Name"]}"); } Console.ReadKey(); } } class Person { public int ID { set; get; } public string Name { set; get; } } }
引用的Newtonsoft.Json.dll如上一张图片所示。
4、点击运行按钮,而后在bin/Debug文件夹下看能生成的文件以下:
从以上图片能够看出,生成的文件没有包含Newtonsoft.Json.dll与Costura.dll没有被生成,只有三个文件。
咱们能够删除ConsoleApp.exe.config及ConsoleApp12.pdb文件,留下ConsoleApp12.exe文件便可,ConsoleApp12.exe能单独运行。
5、咱们能够使用ILSpy.exe查看刚才生成以后的ConsoleApp12.exe,以下图所示:
从以上能够看出,能够使用Costura.Fody将源DLL合并到目标EXE。
出处:http://www.cnblogs.com/cncc/p/7804511.html