2020年6月25日,微软dotnet团队在博客宣布了第六个 .NET 5.0 的预览版:https://devblogs.microsoft.com/dotnet/announcing-net-5-0-preview-6/,在改进性能的同时增加了一些新的功能。ASP.NET Core和 EF Core也将于今日发布了。注意:EF Core 5.0 不支持 .NET Standard 2.0 或 .NET Framework,但是EF Core 5.0是支持.NET Core 3.1。 将所有内容组合在一起的里程碑式版本离预览版 8 中完成功能只有两步之遥,最终的 GA 版本定于 11 月发布,2019年Build大会上宣布.NET 5时,微软就明确说了,"未来将只有一个.NET,您将能够使用它来定位Windows、Linux、macOS、iOS、Android、tvOS、watchOS和WebAssembly等等。 微软在4 月份宣布预览版 2时宣布,它已经处理了其 .NET 站点上 50% 的流量。
自那时以来,一系列稳定的预览版本一直在逐步修复Issue,完善现有功能和添加新的功能,虽然通常是一个小范围,不断敏捷迭代,小步快跑。 今天的预览版 6 依然如此,Microsoft 将其描述为包含"一小组新功能和性能改进"。
本次更新的主要功能是在 Windows ARM64 上支持 Windows Forms 应用程序。此前.NET 5 Preview 4,Windows ARM64 上只支持控制台和 ASP.NET Core 应用程序。 通过这项支持,开发者可以在 Surface Pro X 等 Windows ARM64 设备上构建和运行 Windows Forms 应用。微软还透露,他们仍在努力为 Windows ARM64 设备提供 WPF支持。 同时.NET 5移除了对WinRT 的内置支持,通过外部工具链进行支持,这么做的最直接的好处是简化 .NET 运行时代码库(一下就删除 6 万行代码),而且这么多代码和跨平台无关。这次版本更新的内容如下:
- Windows 窗体改进:开发人员可以强制其应用程序是单实例的,这意味着一次启动一个实例。
- RyuJIT 代码质量改进:其中大量涉及常规改进(结构处理等)、ARM64 硬件内部功能和 ARM64 生成的代码改进,从而大大减少了 ARM64 代码大小。
- 单个文件应用改进:添加了在单个文件中包含本机二进制文件和任何其他内容(如图片)的新选项,.NET 5目标是为 Windows、macOS 和 Linux 启用将应用作为一个文件发布。这个里程碑进一步接近了。
- 本机托管应用程序改进:一位贡献者提供了一种新的模型,用于在本机应用程序中的 .NET 托管模型。
- 突破性的改变 -- 删除内置 WinRT 支持: "已经用 Windows 团队在 .NET 5.0 中提供的C#/WinRT工具链取代了内置 WinRT 支持。WinRT 互操作中的此更改是一个突破性的变化,使用 WinRT 的 .NET Core 3.x 应用将需要重新编译。我们将在即将到来的预览版中提供有关此内容的更多信息。
开发工具支持上需要Visual Studio 16.7 预览版才支持.NET 5, Visual Studio For Mac 也支持.NET 5, 当然Visual Studio Code 安装最新版的C#扩展插件也支持.NET 5. Visual Studio .NET远程调试器对Windows ARM64的支持将在Visual Studio 16.7版本中提供。Visual Studio Code .NET远程调试器支持将在以后推出。
Richard 在博客结束时说:"我们现在已经过了这个发布周期的一半。"事实上,我们开始’关闭发布'。如果您密切关注我们的代码仓库,您会看到我们正开始更仔细地管理问题的里程碑。 在发布了多个.NET 5 版本之后,我可以告诉你,这是一个伟大的时间。 是时候在一组我们构建的功能上取得胜利,并把它们打磨到您乐于使用它们。 这就是我们现在在家里远程工作所做的。 尽管 11 月首次亮相仍有望实现,但 .NET 5 不会拥有 Microsoft 最初计划的所有特性和功能。这是因为COVID-19大流行引起的并发症。因此,完整的包将会在 2021 年 11 月与 .NET 6 一起发布。
您可以使用以下链接下载新的 .NET 5.0 的第六个预览版,适用于于Windows、macOS和Linux: