.NET 单文件发布功能的使用

通常一个 .NET 应用要依赖很多系统和第三方库,发布的形式就是一大堆 dll 文件,在安装部署方面确实不够方便,将应用的所有依赖打包到一个二进制文件一直是个很强的需求。

从 .NET Core 3.0 开始,.NET 开始支持单文件部署。但在运行时,实际上还是需将所有文件解压到文件夹再运行。.NET 5 对此作了改进,运行时不再解压,目前已经非常好用。

单文件部署可以在 C# 项目文件中配置,一个典型的配置如下。


  
    Exe
    net6.0
    true
    true
    win-x64
    true
    true
  


PublishSingleFile,设置为true 开启单文件部署,false 反之。

SelfContained,单文件部署仍然需要一个 .NET 运行时,需要目标机器上提前安装。SelfContained 设置为 true,可以将 .NET 运行时也打包进文件。好处是无需在目标机器上安装 .NET 运行时,也避免了一些潜在的版本冲突问题。坏处是打包后的单文件会变大,大概增加 80 M 左右。

RuntimeIdentifier,指定操作系统和硬件架构,如果设置了该项,也意味着 SelfContained 被设置为 true。

PublishReadyToRun,是否启用 ReadyToRun,可以显著减小应用加载时间,但通常编译后的 R2R 格式的二进制文件好会更大,因为同时包含了 IL 代码和相同功能的本地代码,原因是有些情况下 IL 代码还必须存在,实践中来看,代码体积会增加 2-3 倍。同时, .NET 应用的性能影响比较复杂,总体来看,规模较大的应用有比较显著的性能提升,规模较小的则不显著

展开阅读全文

页面更新:2024-04-24

标签:坏处   该项   体积   文件夹   性能   规模   目标   代码   功能   二进制文件   文件   单文

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top