NET50单文件发布打包操作深度剖析

前言

随着.NET5.0Preview8的发布,许多新功能正在被社区成员一一探索;这其中就包含了“单文件发布”这个炫酷的功能,实际上,这也是社区一直以来的呼声,从WinForm的msi开始,我们就希望有这样一个功能,虽然在docker时代,单文件发布的功能显得“不那么重要”,但正是从这一点可以看出,.NET的团队成员一直在致力于实用功能的完善。

在Java的世界里,单文件发布一直伴随着他们的成长,War文件可以直接上传到Tomcat上运行,话说我们还是有那么一丢丢的羡慕的,不过凡事有利就有弊,单文件发布对于细分模块的热更新来说,还有有一点点的不方便。

不过瑕不掩瑜,在微服务概念越来越火热的今天,相信单文件发布的功能带给大家更多的是兴奋。

什么是单文件发布

首先,我们要清楚的了解,什么是单文件发布。

官方的目标定义:

.Net5.0单个文件解决方案应为:

广泛兼容:可以将包含IL程序集,随时运行的程序集,复合程序集,本机二进制文件,配置文件等的应用程序打包为一个可执行文件。可以直接从打包软件直接运行应用程序的托管组件,而无需提取到磁盘。可与调试器和工具一起使用。从上面的目标可以看出,和以往版本最大的不同在于:将所有依赖打包到一个可执行文件中,可直接运行,不影响调试操作。

注意上面的这句话“将所有依赖打包到一个可执行文件中”,而在以往,我们使用dotnetpublish将应用程序进行发布之后,我们会看到,在publish下有许多项目依赖的dll文件,在.NET5.0到来之后,这些依赖文件可收纳到一个文件中,瞬间让人感受到了清凉。

发布操作指令相关

命令

可选参数

配置文件设置参数

除了可以使用命令行参数的形式,还可以通过配置文件的形式设置发布参数,编辑项目文件,添加配置节点到文件中并保存即可。

PropertyGroupTargetFrameworknet5.0/TargetFrameworkRuntimeIdentifierlinux-x64/RuntimeIdentifierPublishSingleFiletrue/PublishSingleFileIncludeContentInSingleFiletrue/IncludeContentInSingleFile/PropertyGroup

关于RID说明见:


转载请注明:http://www.aierlanlan.com/rzdk/4007.html

  • 上一篇文章:
  •   
  • 下一篇文章: