[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相关推荐
- C#_打包发布变成一个绿色版本软件——Costura.Fody合并DLL和EXE
C#_打包发布变成一个绿色版本软件--Costura.Fody合并DLL和EXE 前言:之前使用C#制作软件后使用Costura.Fody打包都挺顺利的,没有遇到什么麻烦,可是现在使用Costura. ...
- C# 合并DLL, 合并DLL进入EXE
原文:C# 合并DLL, 合并DLL进入EXE 使用方法非常简单 在项目属性窗口中,选择"生成事件",在"生成后事件命令行"下的文本框中输入 ilmerge / ...
- C# 将所有的DLL文件 打包到 exe里面,就是说整个项目只有一个exe
第一步,需要安装一个 Fody.Costura 控件怎么安装呢 点开之后你就会发现有个,PM> 后面 输入 Install-Package Costura.Fody -Version 1.6. ...
- 0x0F19B7EC (ucrtbased.dll)处(位于 ex6.exe 中)引发的异常: 0xC0000005: 写入位置 0x00740000 时发生访问冲突。
0x0F19B7EC (ucrtbased.dll)处(位于 ex6.exe 中)引发的异常: 0xC0000005: 写入位置 0x00740000 时发生访问冲突. 参考文章: (1)0x0F19 ...
- POI按照源单元格设置目标单元格格式
原文:http://jjw198874.blog.163.com/blog/static/1889845522011102401854234/ POI按照源单元格设置目标单元格格式 poi按照一个源单 ...
- 0x0F19B7EC (ucrtbased.dll)处(位于 ex6.exe 中)引发的异常: 0xC0000005: 写入位置 0x00740000 时发生访问冲突。...
下面的代码在编译,运行时没有问题,在输入内容是出现异常如下: 0x0F19B7EC (ucrtbased.dll)处(位于 ex6.exe 中)引发的异常: 0xC0000005: 写入位置 0x00 ...
- (xxx.dll)处(位于xxx.exe 中)引发的异常: 0xC0000005: 读取位置 0x0000003F 时发生访问冲突。已解决。
下面两个这种类型的报错都一样.(跟xxx.dll和xxx.exe都没关系) 0x794CECC1 (Qt5Cored.dll)处(位于 xxx.exe 中)引发的异常: 0xC0000005: 读取位 ...
- 使用VideoCapture进行读取时0x00007FF9A1F86A6F (opencv_world440d.dll)处(位于 opencvtest.exe 中)引发的异常
在读<OpenCV3编程入门>时,有下面一段代码 #include <opencv2/opencv.hpp> #include <iostream>using na ...
- msvcr110.dll php,windows,_msvcr110.dll丢失,vcredist_x64.exe设置失败,windows - phpStudy
msvcr110.dll丢失,vcredist_x64.exe设置失败 windows更新后打开xsehll报错,说缺少msvcr110.dll. 然后之前也遇到过这样,去下载msvcr110.dll ...
- 【软件后门】资源(dll、ocx、exe)语言切换(汉化)、图标更改
1.资源(dll.ocx.exe)语言切换(汉化) 推荐使用工具eXeScope.exe 2.图标修改 推荐使用工具ResHacker 3.5.exe 3.区域语言修改 推荐使用工具UltraEdit ...
最新文章
- 很好的FireFox addin
- python基础题-python基础练习题(一)
- 论面向组合子程序设计方法 之 南无阿弥陀佛
- elasticsearch 第四篇(API约定)
- 3月第4周全球域名商TOP15:万网第四 涨幅居亚
- java8的路径_什么是路径?
- 2 使用_索尼黑卡RX100M6的使用指南2
- 腾讯视频怎么开启运营商网络自动播放
- Windows 7上的Android Studio安装失败,未找到JDK
- paip.提高用户体验----c++图片按钮方法总结
- 计算机将在1分钟重启,Win10开机经常提示将在一分钟后自动重启如何处理
- 二次元日系游戏制作工具 - live2dSDK入门教程
- php zend studio 下载地址,Zend Studio
- Git64位windows版Git-2.10.1-64-bit.exe
- hitb2018_gundam —— tcache double free
- android动态指示箭头,android – 自定义选项卡指示器(箭头像指示器)
- java驱动音响设备发音_XP环境下驱动正常、声卡正常但音响没声音怎么解决?
- python在mac模拟鼠标点击_python模拟鼠标点击和键盘输入的操作
- 摄影师用AI预测MJ、李小龙活到现在长什么样,网友看后泪目
- Debian firmware:failed to load i915/kbl_dmc解决