我们很高兴宣布.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论坛提问。

官宣 .NET 6 预览版 6的更多相关文章

  1. 官宣.NET 6 预览版4

    我们很高兴发布 .NET 6 Preview 4.我们现在大约完成了 .NET 6 发布的一半.现在是一个很好的时机,可以再次查看.NET6的完整范围.许多功能都接近最终形式,而其他功能将很快推出,因 ...

  2. 官宣 .NET MAUI 预览版 6

    最近,我们发布了.NET 多平台应用程序UI (MAUI)的最新进展. 在此版本中,我们全力支持Visual Studio 2022 预览版2.这也标志着我们首次将.NET MAUI 作为工作负载安装 ...

  3. 【译】Visual Studio 15 预览版更新说明

    序:恰逢Build2016大会召开,微软发布了VS2015的update2更新包和VS2016预览版.本人正在提升英文水平中,于是在这里对VS2016预览版的官方文档进行了部分翻译.因为VS有些功能使 ...

  4. Android 发布可穿戴设备 SDK 的开发者预览版

    今早上安卓官网查资料,发现网站上赫然显示着"Android Wear"几个大字.难道……?点进去看,果然,Android发布了可穿戴设备的SDK的开发者预览版. 其中这第五张图…… ...

  5. [下载] VS 2013 Update 4 & 社群版 (Visual Studio Community) & VS 2015 Preview预览版

    这是我的备份,原文请看http://www.dotblogs.com.tw/mis2000lab/archive/2014/11/13/vs2013_update4_community_vs2015_ ...

  6. PyCharm:2017.3版即将新增科学计算模式,预览版现在可以下载使用

    编译:Lemon,原文作者:Ernst Haagsman 公众号:Python数据之道(ID:PyDataRoad) pycharm:2017.3版即将新增科学计算模式 在JetBrains将发布的新 ...

  7. Asp.net Core中SignalR Core预览版的一些新特性前瞻,附源码(消息订阅与发送二进制数据)

    目录 SignalR系列目录(注意,是ASP.NET的目录.不是Core的) 前言 一晃一个月又过去了,上个月有个比较大的项目要验收上线.所以忙的脚不沾地.现在终于可以忙里偷闲,写一篇关于Signal ...

  8. 【最新】Power BI混合现实应用Mixed Reality app预览版正式发布

    1.介绍 2018年3月13日,Power BI在官方博客和Docs文档发布了Power BI for Mixed Reality应用预览版的消息, 也就是可以以后在更虚拟的世界中来观察你的报表,想象 ...

  9. ASP.NET Core 3.0预览版体验

    目前.NET Core 3.0的版本为.NET Core 3.0 Preview 3,对应ASP.NET Core 3.0 Preview 3. ASP.NET Core 3.0 之后将不再支持.NE ...

随机推荐

  1. 1.3.3、通过Header属性匹配

    server: port: 8080 spring: application: name: gateway cloud: gateway: routes: - id: guo-system4 uri: ...

  2. PE文件头格式解析

    前言: 昨天写了一题de1ctf的题,发现要脱壳,手脱之后发现要iat修复,我就发现自己在这块知识缺失了,win逆向,好像一直都是打ctf,然后用逆向方法论去肝的 其他方面倒是没有很深入学习,但实际上 ...

  3. Java实验项目三——平面图形和立体图形抽象类

    Program:按照下面要求完成类的设计 (1)设计一个平面图形抽象类和一个立体图形抽象类,提供该类对象公共的方法和属性. (2)修改项目三中第2题中所设计的球类.圆柱类,圆锥类.矩形类.三角形类.圆 ...

  4. Java并发实战一:线程与线程安全

    从零开始创建一家公司 Java并发编程是Java的基础之一,为了能在实践中学习并发编程,我们跟着创建一家公司的旅途,一起来学习Java并发编程. 进程与线程 由于我们的目标是学习并发编程,所以我不会把 ...

  5. MySQL数据库性能优化该如何入手

    今天小杨给大家分享一篇关于数据库查询优化,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情. ...

  6. LeetCode 778. Swim in Rising Water

    题目链接:https://leetcode.com/problems/swim-in-rising-water/ 题意:已知一个n*n的网格,初始时的位置为(0,0),目标位置为(n-1,n-1),且 ...

  7. windows使用nvm管理node不同版本

    最近项目需要升级,新技术需要的node版本较高,而新node不兼容旧版本node,而原项目仍需要继续维护,所以就需要在本地有多个版本的node,基本原理是在环境配置中修改系统变量node的版本文件夹路 ...

  8. Attention和Transformer详解

    目录 Transformer引入 Encoder 详解 输入部分 Embedding 位置嵌入 注意力机制 人类的注意力机制 Attention 计算 多头 Attention 计算 残差及其作用 B ...

  9. SQlL 中 where 1=1

    提升某种执行效率? 其实,1=1 是永恒成立的,意思无条件的,也就是说在SQL语句中有没有这个1=1都可以. 这个1=1常用于应用程序根据用户选择项的不同拼凑where条件时用的. 如:web界面查询 ...

  10. via浏览器和Alook浏览器插件安装

    via和Alook是Android和IOS上可以支持JS插件的浏览器,一些常用的插件可以在via-app.cn上找到.但总会有人会思考点击安装按钮的是怎样将JS脚本代码安装到浏览器的. 经过对页面代码 ...