.NET 6 Preview 6 Released

宣布 .NET 6 Preview 6

Richard 2021 年 7 月 14 日

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

您可以下载适用于 Linux、macOS 和 Windows 的.NET 6 Preview 6。

  • 安装程序和二进制文件

  • 容器镜像

  • Linux 软件包

  • 发行说明

  • API 差异

  • 已知的问题

  • GitHub 问题跟踪

有关 Web、数据访问和客户端方案的新增功能更多详细信息,请参阅 ASP.NET Core、EF Core 和 .NET MAUI 帖子。

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

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

x64 仿真更新

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

  • Side By side 安装程序

  • 以 .NET CLI为目标的一流架构(主要)支持在所有场景中使用原生架构 SDK。

在可以使用 side by side 安装程序之前(不久在 .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 — 更新已安装的工作负载。

库:TLS 支持 System.DirectoryServices.Protocols

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

感谢@iinuwa。

工具:Crossgen2 替换 crossgen

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

Crossgen(1 和 2)支持在发布步骤中将 IL 预编译为本机代码。预编译主要有利于改善启动。Crossgen2 是一个从头开始的实现,已被证明是代码生成创新的卓越平台。例如,crossgen2 可以为比 crossgen1 更广泛的 IL 模式集生成代码。

以下 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>

库:改进了sync-over-async性能

sync-over-async 是一种常见的阻塞工作类型。当它发生在线程池工作线程上时,它会导致线程池饥饿。缓慢的线程注入可能会延迟其他排队工作的运行,并可能延迟解决饥饿问题。

默认情况下,当异步同步是线程池工作线程上发生的唯一阻塞工作类型时,此更改提高了线程注入的速度。有一些新的AppContext配置值可用于配置响应异步同步的线程注入率。

运行时:W^X 内存策略

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

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

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

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

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

CodeGen 变更日志

以下代码生成更改包含在 Preview 6 中。

动态 PGO

  • 添加选项以随机选择受保护的 devirt 类 https://github.com/dotnet/runtime/pull/53399

  • pgo/devirt 诊断改进 https://github.com/dotnet/runtime/pull/53247

LSRA

  • 重构 LSRA启发式选择 https://github.com/dotnet/runtime/pull/52832

    • 现在,调试模式包含一个 COMPlus 变量,LsraOrdering 将让用户设置启发式排序。

  • 调整寄存器的启发式以寄存器候选中选择出最佳的一个。https://github.com/dotnet/runtime/pull/53853

以下改进基于这些更改。

更多改进:

  • Windows x86

  • Windows x64

  • 通用

代码质量

  • 消除多余的“测试”指令 https://github.com/dotnet/runtime/pull/53214

关闭

发布很快就会来到并即将结束。我们很快将只处理最紧迫的反馈,接近我们用于服务版本的相同错误水平。如果您一直在等待一些反馈或尚未尝试 .NET 6,请立即尝试。这是你影响发布的最后机会。

感谢所有为 .NET 6 成为另一个伟大版本做出贡献的人。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/299846.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SQL2K数据库开发十五之表操作查看表中的数据

1.可以使用SELECT语句查询表中的数据。如在查询分析器中执行SELECT * FROM Products语句就可以查询Products表中的数据&#xff0c;如下图&#xff1a;2.如在企业管理器中查询表中数据&#xff0c;则要展开sample数据库&#xff0c;在Products表上右击鼠标&#xff0c;在弹出的…

中考新大纲:初中数学无非就这26个考点!孩子吃透,再笨也能考115分!

全世界只有3.14 % 的人关注了青少年数学之旅升入初二、初三后数学难度急速上升&#xff0c;您的孩子是否学得吃力成绩却无法提高&#xff1f;1.总说自己上课都能听懂&#xff0c;可题目稍微一变就不会做&#xff1b;2.连课下时间都在刷题&#xff0c;到头来做的全是无用功&…

程序员(工作2年)立flag,面四家,成三家,最后进了蚂蚁.....

作为一个毕业2年的coder, 最近一直在寻找一个合适的机会能够换一个环境&#xff0c;一是寻找一个更加宽阔的舞台不断的提升自己&#xff0c;二是让自己走出现在的舒适区域&#xff0c;迎接更多的挑战和认识更多的人。当然还有为了获得更加好的一份收入。 这一个月&#xff0c;…

深入分析Volatile的实现原理

2019独角兽企业重金招聘Python工程师标准>>> 术语英文单词 描述 共享变量在多个线程之间能够被共享的变量被称为共享变量。共享变量包括所有的实例变量&#xff0c;静态变量和数组元素。他们都被存放在堆内存中&#xff0c;Volatile只作用于共享变量。内存屏障Memor…

Serilog 最佳实践

Serilog 最佳实践概述Serilog[1]是 Microsoft .NET 的结构化日志记录库&#xff0c;并已成为Checkout.com 上NET 的首选日志记录库。它支持各种日志记录目的地&#xff08;称为接收器[2]&#xff09;包从标准控制台和基于文件的接收器到日志服务&#xff0c;如 Datadog。本指南…

世界上迄今为止最安全的加密算法

全世界只有3.14 % 的人关注了青少年数学之旅一个只能用算力来破解的加密算法1人类的加密史公元前5世纪&#xff0c;古希腊人使用一根叫scytale的棍子来传递加密信息。要加密时&#xff0c;先绕棍子卷一张纸条&#xff0c;把信息沿棒水平方向写&#xff0c;写一个字旋转一下&…

手把手教你java快速过滤关键词

java过滤关键词 敏感词、文字过滤是一个网站必不可少的功能&#xff0c;如何设计一个好的、高效的过滤算法是非常有必要的。前段时间我一个朋友&#xff08;马上毕业&#xff0c;接触编程不久&#xff09;要我帮他看一个文字过滤的东西&#xff0c;它说检索效率非常慢。我把它程…

[Delphi]根据输入日期按年月周日输出日期段

输入变量ADateStart&#xff0c;并为其填写起始日期&#xff0c;变量ADateEnd&#xff0c;计算类型AType&#xff0c;输出变量ADateStart&#xff0c;变量ADateEnd procedureFormatDateByType(AType:Integer; varADateStart, ADateEnd: TDate); var//type0日 1周 2月 3年 …

TIOBE 发布 8 月编程语言榜单:C# 排名如何?

刚刚 TIOBE 官方最新发布了 8 月的编程语言榜单&#xff0c;一起来看本月榜单中有什么值得关注的发展趋势吧&#xff1f;每一种编程语言的兴起从来都离不开它所适用的技术领域&#xff0c;二者之间一直以来都是水涨船高的关系。数据挖掘和人工智能的蓬勃发展也是如此&#xff0…

两年了,你还是那个你 | 今日最佳

全世界只有3.14 % 的人关注了青少年数学之旅&#xff08;图源都市音酱&#xff0c;侵权删&#xff09;

k8s入门你至少需要会哪些

前言相信很多公司都有集成发布pass系统&#xff0c;底层大多数依赖于k8s来进行服务的发布部署/回滚等功能。对于很多业务开发者都是不可见的&#xff0c;在感叹这个东西真好用的同时&#xff0c;想着探一探这背后的原理。今天这篇k8s入门我整理了必会的几个k8s知识点&#xff0…

Windows CE的电源管理之三

本篇将以Windows Mobile为例介绍Windows CE电源管理的实现&#xff0c;大体上&#xff0c;Windows Mobile分为Pocket PC和Smartphone两种版本。这两者之间的主要区别在于触摸屏和电源模型&#xff0c;Smartphone采用的是“Always On”模型。为了说清楚它们的区别&#xff0c;我…

跟你们讲一个鬼故事,TA回来了!

全世界只有3.14 % 的人关注了青少年数学之旅真正决定人与人之间的差距的&#xff0c;其实是我们对事物的见识与内心的格局&#xff0c;见识的深浅决定人生的深浅&#xff0c;格局的大小决定了人生之路是宽是窄。今天给大家推荐几个有深度、有想法的公众号&#xff0c;希望能够给…

java之static关键词的作用

static关键词的作用 1、静态成员变量的语法特定 2、静态函数的语法特定 3、静态代码块的语法特定 定义静态成员变量 Person.java class Person{ static int a; }按照以前可以这么调用 public class Test1{ public static void main(String[] args){ Person person new Per…

分布式事务最终一致性-CAP框架轻松搞定

前言对于分布式事务&#xff0c;常用的解决方案根据一致性的程度可以进行如下划分&#xff1a;强一致性(2PC、3PC)&#xff1a;数据库层面的实现&#xff0c;通过锁定资源&#xff0c;牺牲可用性&#xff0c;保证数据的强一致性&#xff0c;效率相对比较低。弱一致性(TCC)&…

Cus系统beta1.2发布

2019独角兽企业重金招聘Python工程师标准>>> 经过小伙伴的努力&#xff0c;Cus后台管理系统开发完成&#xff0c;完善了后台系统&#xff0c;权限控制&#xff0c;新闻发布&#xff0c;商务合作等等功能 主要功能包括&#xff1a; 后台系统截图 更多后台系统截图请点…

区区6位密码,凭什么守护我的百万家产?

全世界只有3.14 % 的人关注了青少年数学之旅今天超模君非常的开心你问为什么&#xff1f;当然是——又双叒可以买新的数学书好开心&#xff01;不过在这欢快的气氛中超模君却听见了小天的叹气声玩笑归玩笑但是银行的密码系统真很安全的吗&#xff1f;今天我们就来讨论下密码学的…

Java开发之上班摸鱼!写最少的代码!

I 前言 本次分享一下我所知道的如何写最少的代码的小技巧&#xff0c;如果你有更好的方案&#xff0c;欢迎在评论区留言&#xff0c;方案很棒的话&#xff0c;加我交流圈&#xff0c;为你送上冬天的一杯奶茶~ Java&#xff1a;我想返回多个返回值 秀一下Go的多返回值&#xf…

Windows 11 预览版 Build 22000.120 发布

微软现已发布第五个 Windows 11 预览版更新 KB5005188&#xff0c;版本号升级至 Build 22000.120。本次更新面向 Dev 频道和 Beta 频道的 Windows 预览体验成员推出。Windows 11 Insider Preview Build 22000.120 主要变化如下&#xff1a;1.全新的 Family Safety&#xff08;家…

robocopy帮助

一 Robocopy简介 Robocopy 是一个功能超强的32位的文件复制工具&#xff0c;该工具来自windows资源包&#xff0c;可以直接在网上下载。 使用Robocopy你能够拷贝单个目录&#xff0c;或迭代的拷贝目录及其所有的子目录。该工具通过文件是否存在于源目录&#xff0c;目标目录&am…