[笔记] .net core WPF 程序,发布独立程序与单一执行程序
如何发布独立可运行的,和只有一个文件的 .net core WPF 程序。
1 发布并打包
- Step 1
在项目上右键,在菜单中选择发布,使用文件发布,选择独立
部署模式,其它的条件,依照自己的情况设置。发布之后,将得到一个绿色无依赖的软件运行环境。
可以开启 PublishTrimmed
以减少发布体积。
- Step 2
使用自解压的压缩包,对发布出来的文件进行打包,就可以给别人用了。
当然,这里并不是单一文件,使用时需要解压,但好处是发给别人时,压缩包的体积较小。
2 单一文件
使用以下命令发布即可
dotnet publish -c Release -r win-x86 /p:PublishSingleFile=true
-c Release
指定编译模式, -r win-x86
指定 runtime 平台。
得到的就是单一执行文件,本质上就是一个打包好的文件,运行时会自动解压到临时目录中在执行,所以第一次运行会比较慢,删除缓存文件之后,也会比较慢。
可以用 everything 找到缓存文件的位置。
另外,这个单一文件,其实并没有压缩,发给别人时,可以先压缩一下,会发现文件体积一下小了很多。
3 参考链接
- 7z制作自解压安装包 - sparkdev - 博客园
- Making a tiny .NET Core 3.0 entirely self-contained single executable - Scott Hanselman
- dotnet core 发布只有一个 exe 的方法
原文链接:
https://www.cnblogs.com/jasongrass/p/11761291.html
[笔记] .net core WPF 程序,发布独立程序与单一执行程序的更多相关文章
- .Net Core应用程序发布时不同方式的差别
.Net Core的文档更新的真是快..每次看的时候都觉得之前是不是梦游看的...每次发布应用程序的时候都要翻看下文档..至少rid是死活记不住.还是留个RID的索引吧..还有发布的索引 ,这样就好复 ...
- .Net core 应用程序发布Web时,有些文件夹没有发布成功解决办法
如果文件是你在项目中手动添加的, 那么在解决方案中右击文件,然后点击属性,文件属性----高级----复制到输出目录----改为始终复制/如果较新则复制 即可.
- WPF程序发布有关事项
- 快速搞懂.NET 5/.NET Core应用程序的发布部署
.NET Framework时代,.NET 应用程序大多直接部署运行在Windows服务器上,当然也可以通过Mono部署运行在Linux上.无论部署exe,还是IIS站点.或是Windows Serv ...
- ASP.NET Core 指定环境发布(hosting environment)
ASP.NET Core 应用程序发布命令: dotnet publish [<PROJECT>] [-f|--framework] [-r|--runtime] [-o|--output ...
- [转]ASP.NET Core 指定环境发布(hosting environment)
本文转自:https://www.cnblogs.com/xishuai/p/asp-net-core-set-hosting-environment-with-publish.html ASP.NE ...
- 将Windows系统编译的.NET Core程序发布到Ubuntu系统
在可移植方面.NET Core应用程序分为两种,Portable application(便捷,需要目标机器安装.NET Core Runtime)和Self-contained applicatio ...
- net Core 2.0应用程序发布到IIS
.net Core 2.0应用程序发布到IIS上注意事项 .net Core2.0应用程序发布window服务器报错容易错过的配置. 1.应用程序发布. 2.IIS上新建网站. 3.应用程序池选择 ...
- WPF笔记1 用VS2015创建WPF程序
使用WPF创建第一个应用程序.实现功能如下: 单击"Red"按钮,文本显示红色:单击"Black"按钮,文本显示黑色:单击"Back"按钮, ...
随机推荐
- python __getattr__和 __getattribute__
__getattr__ 这个魔法函数会在类中查找不到属性时调用 class User: def __init__(self): self.info = 1 def __getattr__(self, ...
- slave_master_info和slave_relay_log_info中的Master_log_pos不一致
最近在研究mysql的主从,发现一个问题,我在主库做任何修改时,在从库中只有slave_relay_log_info中的Master_log_pos在变化,而slave_master_info中的Ma ...
- Astyle 一键格式化项目代码
代码格式化差异问题: 一个团队有多个开发,因开发习惯不同,开发时少添加了空格.换行等. 格式化代码时,一般会将整个文档格式化,代码提交时会发现未知的修改项. Astyle格式化工具 官网下载地址:Ar ...
- PlayJava Day012
今日所学: /* 2019.08.19开始学习,此为补档. */ JPanel和JFrame 1.JFrame是最底层,JPanel是置于其面上,同一个界面只有一个JFrame,一个JFrame可以放 ...
- Java注解简单学习
注解(也被称作元数据)为我们在代码中添加信息提供了一种形式化的方法,使我们在稍后某个时刻可以很方便的使用这些数据,其在一定程度上将元数据与源代码文件结合在一起,而不是保存在外部文档中. 注解使我们可以 ...
- 使用Kubernetes进行ProxySQL本机群集
自v1.4.2起,ProxySQL支持本机群集.这意味着多个ProxySQL实例可识别群集; 他们了解彼此的状态,并能够通过根据配置版本,时间戳和校验和值同步最新的配置来自动处理配置更改. Proxy ...
- SAP系统邮件功能配置
相信SAP顾问或多或少都会接到用户要求SAP系统能够定时发送邮件的功能,定时将用户需要的信息已邮件的方式发送给固定的人员. 下面就来讲一下SAP发送邮件应该如何配置: 1.RZ10做配置: is/SM ...
- SQL Server 查询某一个数据库存储过程、函数是否包含某一个内容或者脚本
SELECT obj.Name 名称, sc.TEXT 内容FROM syscomments scINNER JOIN sysobjects obj ON sc.Id = obj.IDWHERE sc ...
- python创建文件夹
import os filePath = 'D:\12345' # 判断文件夹是否存在,不存在则创建文件夹if not os.path.exists(filePath): os.makedirs(fi ...
- Android实现九宫拼图过程记录
算法老师给了一份关于九宫拼图的算法过程用C++写的,让我们自己封装,成为一个有图形界面的工程,我接触过android,c++的mfc,Java的图形界面JUI,网页的css.html.javascri ...