头图

官宣 .NET 6 预览版 6

我们很高兴宣布.NET 6 预览版6问世啦。预览版6 是我们RC版发布之前的倒数第二个预览版。 我们将有两个RC版。 此版本本身相对较小,而预览版7会更大。 在那之后,我们将进行质量修复,直到11 月的最终版本。 我们期待一个很棒的新.NET 版本。

您可以下载适用于Linux、macOS 和Windows 的.NET 6 预览版 6

请参阅ASP.NET CoreEF Core.NET MAUI文章来了解更多关于Web、数据访问和客户端方案的新功能。

从.NET 6 预览版6 开始,我们已经测试并支持Visual Studio 2022 预览版2Visual Studio 2022是您可以用来开发.NET 6的开发工具,例如 .NET MAUI 开发、C# 应用程序的热重载、 用于WebForms 的新Web 实时预览,以及IDE 体验中的其他性能改进。.NET 6 也在Visual Studio for Mac 8.9进行了测试。

查看新的对话帖子,以深入了解工程师对最新.NET 功能的讨论。

x64 仿真更新

我们已经完成了对macOS 的Apple Silicon 和Windows 的Arm64 的支持。 剩下的就是在macOS Apple SiliconWindows Arm64支持x64 仿真。 我们需要做两件事来实现这一点。

在可以使用并排安装程序之前(之后在.NET 6 中),您需要安装所有x64 版本或者所有Arm64 版本。 如果要切换,需要卸载/删除Arm64 机器上的所有.NET 版本。 很抱歉,目前在这个阶段只能这样实现。

工具:.NET SDK 可选工作负载改进

我们添加了三个新的工作负载命令,可实现更好的发现和管理。

  • dotnet workload search— 列出可安装的工作负载。
  • dotnet workload uninstall — 如果您不再需要某个工作负载,请删除指定的工作负载。 也是节省空间的好选择。
  • dotnet workload repair — 重新安装您之前安装的所有工作负载。

    • 如果您的安装因互联网连接断开而在中间失败,这将非常有用。
    • 可选工作负载由多个工作负载包组成,所以有时候你会发现,其中一些工作负载包安装成功,而另一些则没有。

在之前的预览中,我们添加了以下命令:

  • dotnet workload install — 安装工作负载。
  • dotnet workload list — 列出已安装的工作负载。
  • dotnet workload update — 更新已安装的工作负载。

库:对System.DirectoryServices.Protocols 的TLS 支持

已为Linux 和macOS 的System.DirectoryServices.Protocols启用TLS 支持。 之前它已经为Windows 启用。.NET 用户现在可以享受与LDAP 服务器的安全通信。

归功于@iinuwa

工具:Crossgen2 替换 crossgen

Crossgen2已为所有现有的crossgen 场景启用。 有了这个里程碑,我们还从SDK 中删除了(旧的)crossgen。 它不再可访问且无法使用。

Crossgen(1 和2)支持将IL 预编译为本机代码。 预编译主要有利于改善启动。Crossgen2 是一个从头开始的实现,已被证明是代码生成创新的卓越平台。

以下MSBuild 属性演示了如何使用crossgen2 启用预编译。

   <!-- Enable pre-compiling native code (in ready-to-run format) with crossgen2 -->
      <PublishReadyToRun>true</PublishReadyToRun> 
      <!-- Enable generating a composite R2R image -->

<PublishReadyToRunComposite>true</PublishReadyToRunComposite>

库:改进了异步同步性能

异步同步是一种常见的阻塞工作类型。当它发生在线程池工作线程上时,它会导致饥饿。 缓慢的线程注入可能会延迟其他已经在队列的线程的运行,并延迟解决饥饿问题的时间。

当是由于异步同步导致线程池工作线程上发生阻塞时,此更改默认提高了线程注入率。有一些新的 AppContext 配置值可用于配置响应异步同步的线程注入率。

运行时:W^X 内存策略

我们正在为W^X 内存保护启用支持。这是Apple Silicon 机器的一项要求,也是其他操作系统上的一项有用的安全措施。

此功能有一个不太寻常的名字。它应该读作"write exclusive execute"。这意味着一个内存页可以被标记为读/写或读/执行,但不能包括写和执行的任何组合。例如,写入/执行页面容易被缓冲区溢出攻击所利用。

此功能需要在整个产品中进行更改,无论在哪里使用写入/执行页面。例如,预览版6 包含一项更改,要求JIT 与我们采用的 W^X 方案配合

W^X 是 Apple Silicon 机器上 macOS 的要求,在 .NET 6 的所有其他环境中是可选的,并且可能是 .NET 7 的所有环境中的默认模式。

注意:W^X 实现在 .NET 6 的所有环境中都有一个启动回归,但 Apple Silicon 除外。它将作为 .NET 7 的一部分得到解决。Apple Silicon 实现没有这种回归,是因为操作系统对此方案的支持

CodeGen 变更日志

以下代码生成更改包含在预览版6 中。

动态PGO

LSRA

以下改进基于这些更改。


更多改进:

代码质量

结束语

随时每一个预览版的发布,很快我们将只处理最紧迫的一些的反馈,来为我们最终的版本提供最高的质量保证,如果您尚未尝试.NET 6,请立即尝试。 因为这将是你影响发布的最后机会啦。

感谢所有让.NET 6 成为更棒的版本做出贡献的人。

感谢您成为.NET 开发人员。

最后有任何的.NET相关的开发问题,欢迎到Microsoft Q&A论坛提问。


社区文章
微软 Reactor 上海 是微软为构建开发者社区而提供的一个社区空间,以“予力多元化社区建设,帮助每一个开...

微软 Reactor 是微软为构建开发者社区而提供的一个社区空间,以“予力多元化社区建设,帮助每一个开发者...

109 声望
18 粉丝
0 条评论
推荐阅读
Java on Azure Tooling 6月更新|Azure Toolkit for IntelliJ 与 Gradle插件
大家好,欢迎来到 Java on Azure Tooling 的 6 月更新。在这次更新中,我们将为 Azure toolkit for IntelliJ 引入以应用为中心的新视图,这将使管理界面对用户更加友好。此外,我们还新增了对更多 Azure 服务的支...

MicrosoftReactor阅读 461

封面图
必看!.NET 7 在网络领域的四大更新
最新的 .NET 7 现已发布,我们想介绍一下其在网络领域所做的一些有趣的更改和添加。这篇文章我们将讨论 .NET 7 在 HTTP 空间、新 QUIC API、网络安全和 WebSockets 方面的变化。

微软技术栈1阅读 573

封面图
给 .NET 程序加个「设置开机启动」
前几天写了个「干掉微信只读」的程序,用来解决微信更新 3.9 以后收到文件会自动设置为只读的问题。微信这个设计可以有效地保证收到的原始文件安全性,避免被无意改动。但确实有违某些用户的习惯性操作。「干掉微...

边城1阅读 391

封面图
使用 .NET 7、Blazor 和 .NET MAUI 构建你自己的 Podcast App
.NET Podcast App 首次在 .NET Conf 2021上推出,最近进行了更新以在 .NET Conf 2022 keynote 中突出显示 .NET 7 中的新功能。该 Podcast App 已准备好使用展示 .NET,ASP.NET Core,Blazor,.NET MAUI,Azure Co...

微软技术栈阅读 860

封面图
MASA Stack 1.0 发布会 倒计时一天
​扫描二维码,预约直播2023/1/16 14:00 与你不见不散发布会精彩看点抢先看MASA Stack 1.0 趋势篇世界技术圈在发什么?应用现代化宣布MASA Stack1.0版本正式发布MASA Stack 1.0 产品篇1.0产品架构介绍一站式现代化...

MASA技术团队阅读 609

MASA Stack 1.0 发布会圆满收官
云原生的演进跟大家一起回顾张磊老师在云原生开发者日上关于“云原生技术演进”的分享。介绍整个云原生生态的体现就是一套逻辑链路,就是当有一套概念和方法论之后,就会出现对应的技术和架构,我们在开源社区里就...

MASA技术团队阅读 407

用 Visual Studio 升级 .NET 项目
现在,你已可以使用 Visual Studio 将所有 .NET 应用程序升级到最新版本的 .NET!这一功能可以从 Visual Studio 扩展包中获取,它会升级你的 .NET Framework 或 .NET Core 网页和桌面应用程序。一些项目类型仍正...

微软技术栈阅读 309

封面图

微软 Reactor 是微软为构建开发者社区而提供的一个社区空间,以“予力多元化社区建设,帮助每一个开发者...

109 声望
18 粉丝
宣传栏