当前位置: 代码迷 >> 综合 >> 将 C# .NET ( Core Framework ) WPF Winform 项目打包成单个 exe 可执行文件
  详细解决方案

将 C# .NET ( Core Framework ) WPF Winform 项目打包成单个 exe 可执行文件

热度:46   发布时间:2023-11-15 20:26:12.0

对于一个项目来说,如果能够把软件打包成单个 exe 可执行文件,无需安装,下载后直接打开即可使用,就可以极大地方便用户使用,从而增加用户使用你的产品的意愿。同时,依托于 .NET 的原生优势,一般大小的软件打包出来的单个 exe 文件仅会有几 MB 大小。下面来说如何实现,对 WPF 、Winform 项目均有效。

一、.NET Core 3 之后的版本

在 .NET Core 3 之后的版本中,有如下两个功能:

  • Single-file executables
  • Assembly linking

能够直接生成单个 exe 可执行文件。下面以 Single-file executables 为例:

  1. <PublishSingleFile>true</PublishSingleFile> 添加到项目文件。

  2. 在“解决方案资源管理器”窗格中,右键单击要发布的项目 。 选择“发布”。

    如果还没有发布配置文件,请按照说明创建一个并选择“文件夹”目标类型 。

  3. 选择“编辑” 。

  4. 在“配置文件设置”对话框中,设置以下选项 :

    • 将“部署模式”设置为“独立式”或“依赖于框架”。
    • 将“目标运行时”设置为要发布到的平台 。 (必须是除“可移植”以外的设置。)
    • 选择“生成单个文件”。

    选择“保存”保存设置并返回到“发布”对话框 。

  5. 选择“发布”,将应用作为单个文件发布。

更多参阅微软文档

二、.NET Core 3 之前的 旧版本、.NET Framework

可是对于其他以前版本,如 .NET Framework 来说,并没有这个功能,要想把项目打包成单个 exe 可执行文件,可以借助于一个名为 Costura Fody 的开源包(Package)

通过 NuGet 安装

如下图,依次点击 Tools -> NuGet Package Manager -> Package Manager Console (不难看懂,我就不翻译了)
drawing

然后在弹出的 Console 控制台 终端 中,依次输入:

Install-Package Fody
Install-Package Costura.Fody

安装完这两个包之后,直接运行你的项目,然后就可以在项目的 \bin\Debug 目录中找到生成的单个 exe 可执行文件

文件夹中可能还有之前生成的文件没有删除,可以把 exe 文件单独复制到桌面,看看能不能打开,以验证是否成功

更多说明见其主页

  相关解决方案