微软今天发布了 .NET 5.0 正式版。本次版本更新幅度很大,而且自首个预览版发布以来微软已经进行了广泛的内部部署,除了在 .NET 5.0 上运行 .NET 网站外,Bing 也在使用这个新平台。

下载地址更新日志

.NET 5.0正式版SDK与运行时

.NET 5.0正式版,SDK版本是 5.0.100

.NET 5.0正式版运行时包括:

  • ASP.NET Core Runtime 5.0.0
    核心ASP.NET运行系统使您能够运行现有的 Web/服务器应用程序。ASP.NET运行时中包含.NET Runtime。

  • .NET Desktop Runtime 5.0.0
    .NET 桌面运行时使您能够运行现有的 Windows 桌面应用程序。.NET Desktop运行时中包含.NET Runtime。

  • .NET Runtime 5.0.0
    .NET 运行时仅包含运行控制台应用所需的组件。通常,您还将安装核心ASP.NET .NET 桌面运行时。

通俗的解释一下这三个运行时的作用:
  • 如果要运行.net5开发web内容,服务器上要安装ASP.NET Core运行时,安装时同时也安装了.NET Runtime。
  • 如果要运行.net5开发的桌面软件,电脑上要安装.NET Desktop Runtime运行时,安装时同时也安装了.NET Runtime。
  • 如果要运行.net5开发的非web或桌面软件的服务端应用,服务器上只需要安装.NET Runtime运行时。
 

本次版本更新非常重视 .NET 的统一性,微软希望 .NET Framework 开发者能够迁移他们的代码和应用到 .NET 5.0 上,为明年发布的 .NET 6.0 将 Xamarin 开发者过渡到统一平台奠定了基础,目标是将所有的 .NET 组件整合到一个产品下。

.NET 5.0还带来了大量的改进,微软强调了一些比较显著的变化,包括一些性能上的改进,微软之前在这里进行了探讨。以下是这个版本的所有亮点:

● .NET 5.0 已经部署到 dot.net 和 Bing.com 托管数月,已经得到了实战检验。

● 很多组件的性能都得到了极大的提高。.NET 5.0 中 ARM64 的性能 和 GRPC 等都有改善

● C# 9和F# 5提供了新的语言改进,如C# 9的顶层程序和记录,而F# 5则提供了交互式编程和.NET上功能编程的性能提升。

● .NET库对Json序列化、正则表达式和HTTP(HTTP 1.1、HTTP/2)的性能有所提升。它们现在也被完全注释为可空性。

● 由于GC、分层编译等方面的完善,P95延迟有所下降。

● 应用部署选项更好了,有了ClickOnce客户端应用发布、单文件应用、容器镜像尺寸减小,并增加了Server Core容器镜像。

● 平台范围扩大,增加了WindowsArm64和WebAssembly。

● 一个值得注意的变化是,.NET 5.0应用可以原生运行在ARM64 Windows设备上,消除了仿真带来的一些性能障碍。然而,在这个版本中,Windows 桌面组件并不能用于ARM64设备--这计划在.NET 5.0的服务更新中进行。如果你想深入了解这个版本的变化,你可以阅读完整的博客文章。完整的发布说明可以在这里找到。