将 C# .NET ( Core Framework ) WPF Winform 项目打包成单个 exe 可执行文件
对于一个项目来说,如果能够把软件打包成单个 exe 可执行文件,无需安装,下载后直接打开即可使用,就可以极大地方便用户使用,从而增加用户使用你的产品的意愿。同时,依托于 .NET 的原生优势,一般大小的软件打包出来的单个 exe 文件仅会有几 MB 大小。下面来说如何实现,对 WPF 、Winform 项目均有效。
一、.NET Core 3 之后的版本
在 .NET Core 3 之后的版本中,有如下两个功能:
- Single-file executables
- Assembly linking
能够直接生成单个 exe 可执行文件。下面以 Single-file executables 为例:
将
<PublishSingleFile>true</PublishSingleFile>
添加到项目文件。在“解决方案资源管理器”窗格中,右键单击要发布的项目 。 选择“发布”。
如果还没有发布配置文件,请按照说明创建一个并选择“文件夹”目标类型 。选择“编辑” 。
在“配置文件设置”对话框中,设置以下选项 :
- 将“部署模式”设置为“独立式”或“依赖于框架”。
- 将“目标运行时”设置为要发布到的平台 。 (必须是除“可移植”以外的设置。)
- 选择“生成单个文件”。
选择“保存”保存设置并返回到“发布”对话框 。
选择“发布”,将应用作为单个文件发布。
更多参阅微软文档
二、.NET Core 3 之前的 旧版本、.NET Framework
可是对于其他以前版本,如 .NET Framework 来说,并没有这个功能,要想把项目打包成单个 exe 可执行文件,可以借助于一个名为 Costura Fody 的开源包(Package)
通过 NuGet 安装
如下图,依次点击 Tools -> NuGet Package Manager -> Package Manager Console (不难看懂,我就不翻译了)
然后在弹出的 Console 控制台 终端 中,依次输入:
Install-Package Fody
Install-Package Costura.Fody
安装完这两个包之后,直接运行你的项目,然后就可以在项目的 \bin\Debug
目录中找到生成的单个 exe 可执行文件
文件夹中可能还有之前生成的文件没有删除,可以把 exe 文件单独复制到桌面,看看能不能打开,以验证是否成功
更多说明见其主页
将 C# .NET ( Core Framework ) WPF Winform 项目打包成单个 exe 可执行文件相关推荐
- 如何将cocos2d-x项目打包成一个.exe
今天在CSDN上看到了一片有趣的博文,没错,他还是关于cocos2d-x的,但不同之处是,这会正对的不是ios又或安卓,而是我们最熟悉的windows,他教会了我如何将一个cocos2d-x编译后产生 ...
- 使用pyinstaller将python项目打包发布为exe可执行文件
pyinstaller模块用于将python项目打包发布成exe文件,以方便地在没有安装python环境的机器上运行.该模块使用 pip install pyinstaller 安装即可. 一.常用参 ...
- Winform项目打包
Winform项目打包Winform项目打包Winform项目打包 首先下载安装Installer Projects 安装速度太慢,可以下载离线包,双击直接安装也可以 链接:https://pan.b ...
- linux上jar包无法识别本地文件格式,解决使用maven将项目打包成jar包后运行在linux系统中无法读取jar包中文件的问题...
哈哈,之前计划的每周至少更新一个博客的计划又因为各种原因都泡汤了.看来坚持真得是一件挺让人头疼的问题,无论如何,从这周开始接下来每周一定要至少更新一个技术博客,欢迎大家监督! 好,言归正传.之前前几周 ...
- Vue项目打包成桌面程序exe除了使用electron-vue你还可以这样
场景 electron-vue 基于 vue (基本上是它听起来的样子) 来构造 electron 应用程序的样板代码. 该项目的目的,是为了要避免使用 vue 手动建立起 electron 应用程序 ...
- 使用 GraalVM 将纯 JavaFX 项目打包成 EXE
使用 GraalVM 将纯 JavaFX 项目打包成 EXE GraalVM 的环境搭建 打包不含 FXML 的纯 JavaFX 项目 打包含 FXML 的纯 JavaFX 项目 测评 在 Intel ...
- 使用 GraalVM 将基本的 Java 项目打包成 EXE
使用 GraalVM 将基本的 Java 项目打包成 EXE GraalVM 的环境搭建 将基本的 Java 项目打包成 EXE 将 JAR 转化为 EXE GraalVM 与 Java 中其它打包成 ...
- winform把所有dll打包成一个exe
大家都知道做winform开发,是可以利用visual studio进行打包的,但是这种打包的方式需要双击安装,那么有没有什么方法,可以把winform程序打包成绿色版呢?当然,这里的"绿色 ...
- 转:教大家如何用HBuilder将web项目打包成apk
链接:https://www.jianshu.com/p/d86bf569295d 将我们的web项目打包成一个apk文件并不难,首先准备好软件HBuilder还有你的项目,注意这里只献给那些不是真正 ...
最新文章
- 【Java 虚拟机原理】栈帧 | 动态链接 | 方法区 | 字节码文件二进制分析
- linux 分区 var,Ubuntu下移动/var目录到单独分区后出现的一些问题
- Batch Normalization的作用及原理
- Java条件查询分页——总结
- python中怎么判断字母大小写_python判断字符串是字母 数字 大小写(转载)
- 【OpenCV 例程200篇】04. 用 matplotlib 显示图像(plt.imshow)
- 面向对象之反射和其他内置方法
- TensorFlow 教程 --新手入门--1.4 win10环境安装实例
- 计算机的用户名在哪,告诉你win7系统用户名在哪以及用户名更改
- 院士大咖齐聚苏州,共话AI未来,30个优秀个人和企业、产品受到表彰
- 智能音箱,你在窃听我吗?
- php __call实现多继承,php如何使用_call实现多继承(代码示例)
- Python计算机视觉编程pdf
- 【实现windowsxp系统自动快速装机的方法】
- 如何修改显示Office图标而不是wps图标
- iOS---Xcode中删除描述文件Provisioning Profiles
- vue中使用clipboard实现点击复制功能
- 数据和安全②HTTPS单向和双向认证
- MT-InSAR原理和发展_刘计洪
- MySQL 中用NOW()和SYSDATE()函数获取当前日期时间
热门文章
- 淘宝api,custom - 淘宝官方订单API操作
- Selenium模拟浏览器访问
- Webex助力Innokids消除沟通隔阂,成就无边界创作
- 一文学会 PC搭建opengl es C++开发环境
- 虚拟化技术—基础(1)
- sklearn.svm中LinearSVR(svm线性回归)、LinearSVC(svm线性分类)与SVC(svm分类)、SVR(svm回归)之间的区别
- 中国医用显示器械市场现状调查与投资前景预测报告2022-2028年
- 开发板——在X210开发板上进行裸机开发的流程
- linux探针,存活探针(Liveness)、就绪探针(Readiness)、启动探针(Startup)、容器钩子
- 24点(给出4个1-10的数字,通过加减乘除,得到数字为24就算胜利)