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文件放到一起进行使用的,否则程序访问一些外部资源的时候会报错。

相关推荐
sali-tec5 小时前
C# 基于halcon的视觉工作流-章66 四目匹配
开发语言·人工智能·数码相机·算法·计算机视觉·c#
ITMr.罗12 小时前
深入理解EF Core更新机制(开发中因为省事遇到的问题)
服务器·数据库·c#·.net
用户44884667106012 小时前
.NET进阶——深入理解委托(3)事件入门
c#·.net
豫狮恒12 小时前
OpenHarmony Flutter 分布式多模态交互:融合音视频、手势与环境感知的跨端体验革新
flutter·wpf·openharmony
赵庆明老师13 小时前
NET 中,你可以使用LINQ 根据指定字段排序
c#·linq
豫狮恒14 小时前
OpenHarmony Flutter 分布式数据共享实战:从基础存储到跨设备协同
flutter·wpf·openharmony
武藤一雄15 小时前
C# 万字拆解线程间通讯?
后端·微软·c#·.net·.netcore·多线程
lljss202015 小时前
C# 定时器类实现1s定时器更新UI
开发语言·c#
白杨攻城狮16 小时前
C# 关于 barierr 心得
开发语言·c#
江沉晚呤时16 小时前
延迟加载(Lazy Loading)详解及在 C# 中的应用
java·开发语言·microsoft·c#