原文:[C#]使用Costura.Fody将源DLL合并到目标EXE


本文为原创文章,如转载,请在网页明显位置标明原文名称、作者及网址,谢谢!


一、本文主要是使用Costura.Fody工具将源DLL合并到目标EXE,因此,需要从以下任一链接下载:

①从Github地址下载:

https://github.com/Fody/Costura/releases

②从百度网盘下载:

https://pan.baidu.com/s/1kV9W34b

③【推荐】从Nuget地址安装工具:

https://www.nuget.org/packages/Costura.Fody/

并从Visual Studio中的程序包管理器控制台进行安装:

PM> Install-Package Costura.Fody -Version 1.6.2

注:最新版本请打开Nuget地址进行获取

二、安装之后,Costura.dll等已经被引用进来,如下图所示:

三、新建一个引用Newtonsoft.Json.dll的解决方案,这个就借用上一篇内容【[C#]使用ILMerge将源DLL合并到目标EXE(.NET4.6.2)】的例子,解决方案下载地址:

https://pan.baidu.com/s/1jIzjpkU

代码如下:

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如上一张图片所示。

四、点击运行按钮,然后在bin/Debug文件夹下看能生成的文件如下:

从以上图片可以看出,生成的文件没有包含Newtonsoft.Json.dll与Costura.dll没有被生成,只有三个文件。

我们可以删除ConsoleApp.exe.config及ConsoleApp12.pdb文件,留下ConsoleApp12.exe文件即可,ConsoleApp12.exe能单独运行

五、我们可以使用ILSpy.exe查看刚才生成之后的ConsoleApp12.exe,如下图所示:

从以上可以看出,可以使用Costura.Fody将源DLL合并到目标EXE

[C#]使用Costura.Fody将源DLL合并到目标EXE相关推荐

  1. C#_打包发布变成一个绿色版本软件——Costura.Fody合并DLL和EXE

    C#_打包发布变成一个绿色版本软件--Costura.Fody合并DLL和EXE 前言:之前使用C#制作软件后使用Costura.Fody打包都挺顺利的,没有遇到什么麻烦,可是现在使用Costura. ...

  2. C# 合并DLL, 合并DLL进入EXE

    原文:C# 合并DLL, 合并DLL进入EXE 使用方法非常简单 在项目属性窗口中,选择"生成事件",在"生成后事件命令行"下的文本框中输入 ilmerge / ...

  3. C# 将所有的DLL文件 打包到 exe里面,就是说整个项目只有一个exe

    第一步,需要安装一个 Fody.Costura 控件怎么安装呢 点开之后你就会发现有个,PM> 后面 输入  Install-Package Costura.Fody -Version 1.6. ...

  4. 0x0F19B7EC (ucrtbased.dll)处(位于 ex6.exe 中)引发的异常: 0xC0000005: 写入位置 0x00740000 时发生访问冲突。

    0x0F19B7EC (ucrtbased.dll)处(位于 ex6.exe 中)引发的异常: 0xC0000005: 写入位置 0x00740000 时发生访问冲突. 参考文章: (1)0x0F19 ...

  5. POI按照源单元格设置目标单元格格式

    原文:http://jjw198874.blog.163.com/blog/static/1889845522011102401854234/ POI按照源单元格设置目标单元格格式 poi按照一个源单 ...

  6. 0x0F19B7EC (ucrtbased.dll)处(位于 ex6.exe 中)引发的异常: 0xC0000005: 写入位置 0x00740000 时发生访问冲突。...

    下面的代码在编译,运行时没有问题,在输入内容是出现异常如下: 0x0F19B7EC (ucrtbased.dll)处(位于 ex6.exe 中)引发的异常: 0xC0000005: 写入位置 0x00 ...

  7. (xxx.dll)处(位于xxx.exe 中)引发的异常: 0xC0000005: 读取位置 0x0000003F 时发生访问冲突。已解决。

    下面两个这种类型的报错都一样.(跟xxx.dll和xxx.exe都没关系) 0x794CECC1 (Qt5Cored.dll)处(位于 xxx.exe 中)引发的异常: 0xC0000005: 读取位 ...

  8. 使用VideoCapture进行读取时0x00007FF9A1F86A6F (opencv_world440d.dll)处(位于 opencvtest.exe 中)引发的异常

    在读<OpenCV3编程入门>时,有下面一段代码 #include <opencv2/opencv.hpp> #include <iostream>using na ...

  9. msvcr110.dll php,windows,_msvcr110.dll丢失,vcredist_x64.exe设置失败,windows - phpStudy

    msvcr110.dll丢失,vcredist_x64.exe设置失败 windows更新后打开xsehll报错,说缺少msvcr110.dll. 然后之前也遇到过这样,去下载msvcr110.dll ...

  10. 【软件后门】资源(dll、ocx、exe)语言切换(汉化)、图标更改

    1.资源(dll.ocx.exe)语言切换(汉化) 推荐使用工具eXeScope.exe 2.图标修改 推荐使用工具ResHacker 3.5.exe 3.区域语言修改 推荐使用工具UltraEdit ...

最新文章

  1. 很好的FireFox addin
  2. python基础题-python基础练习题(一)
  3. 论面向组合子程序设计方法 之 南无阿弥陀佛
  4. elasticsearch 第四篇(API约定)
  5. 3月第4周全球域名商TOP15:万网第四 涨幅居亚
  6. java8的路径_什么是路径?
  7. 2 使用_索尼黑卡RX100M6的使用指南2
  8. 腾讯视频怎么开启运营商网络自动播放
  9. Windows 7上的Android Studio安装失败,未找到JDK
  10. paip.提高用户体验----c++图片按钮方法总结
  11. 计算机将在1分钟重启,Win10开机经常提示将在一分钟后自动重启如何处理
  12. 二次元日系游戏制作工具 - live2dSDK入门教程
  13. php zend studio 下载地址,Zend Studio
  14. Git64位windows版Git-2.10.1-64-bit.exe
  15. hitb2018_gundam —— tcache double free
  16. android动态指示箭头,android – 自定义选项卡指示器(箭头像指示器)
  17. java驱动音响设备发音_XP环境下驱动正常、声卡正常但音响没声音怎么解决?
  18. python在mac模拟鼠标点击_python模拟鼠标点击和键盘输入的操作
  19. 摄影师用AI预测MJ、李小龙活到现在长什么样,网友看后泪目
  20. Debian firmware:failed to load i915/kbl_dmc解决

热门文章

  1. 《数据库系统概念》19-并发控制
  2. nginx实现共享以及实现原理
  3. 在iphone开发中的get请求和post请求
  4. javascript学习-常用内置对象
  5. c# 开发项目的过程
  6. HDUOJ----2063过山车
  7. Struts2回顾复习02
  8. 总结一下网站注入与防范的方法
  9. The Furthest Distance In The World
  10. Egret入门学习日记 --- 第十五篇(书中 6.1~6.9节 内容)