2. WPF程序打包成一个单独的exe文件

1. 说明

一些工具应用开发结束后,给到其他用的时候,可能别人只是希望拿到一个.exe文件,直接双击运行即可,不想要那种又要安装,又要配置相关文件之类的,此文章将介绍怎么把程序依赖的一些文件,一块打包的exe文件当中

2. 步骤

2.1 安装Custura.Fody

在项目中安装Custura.Fody第三方库,可以使用Nuget包管理器进行安装,建议安装1.6.2版本,不要选择太高的版本,否则在项目中引用的位置可能会不显示,大概率是安装失败.

2.2 配置FodyWeavers.xml文件

在2.1安装好Fody插件后,默认会自动在项目顶层目录创建一个名为FodyWeavers.xml文件,配置如下:

xml 复制代码
<?xml version="1.0" encoding="utf-8" ?>
<Weavers>
	<Custura />
</Weavers>

实际上就是利用Custura这个插件将项目需要的所有其他依赖项统一合并到exe文件中

配置完成后对项目进行编译,在项目输出目录中,可能会有一些其他的文件存在,此时只需要保留.exe文件即可,其他的文件可以删掉

3. 注意

如果在程序中对某些指定的文件夹目录进行了访问,或者说对某些指定名称的文件目录下面进行了文件遍历扫描等类似的任务,还是需要把这些目录文件和.exe文件放到一起进行使用的,否则程序访问一些外部资源的时候会报错。

相关推荐
~plus~4 分钟前
C# 内存管理深度剖析:从 Span<T> 到 Memory<T> 再到 ArrayPool
开发语言·c#
cici1587410 分钟前
C#与西门子S7-1200通讯实例
开发语言·c#
~plus~13 分钟前
C# 异步编程深度剖析:从 async/await 到 ValueTask
开发语言·c#
回忆2012初秋16 分钟前
C# 大文件分片上传完整实现指南
开发语言·c#
南無忘码至尊2 小时前
Unity学习90天-第3天-认识触屏输入(手游基础)并完成手机点击屏幕,物体向点击位置移动
学习·unity·c#·游戏引擎·游戏开发
njsgcs2 小时前
获得solidworks 3d零件的包围框 长宽高 boundingbox c#
开发语言·c#·solidworks
zybsjn2 小时前
异步并发的“流量警察”:在C#中使用SemaphoreSlim进行并发控制的最佳实践
开发语言·c#
南無忘码至尊2 小时前
Unity学习90天-第3天-认识C# 集合与常用类并实现生成随机位置的 10 个立方体
学习·unity·c#
~plus~2 小时前
C#/.NET 8 Span与Memory高性能编程完全指南
开发语言·c#·.net
七夜zippoe2 小时前
DolphinDB集群部署:从单机到分布式
分布式·wpf·单机·dolphindb·分集群