官宣 .NET 6 预览版 6
我们很高兴宣布.NET 6 预览版6问世啦。预览版6 是我们RC版发布之前的倒数第二个预览版。 我们将有两个RC版。 此版本本身相对较小,而预览版7会更大。 在那之后,我们将进行质量修复,直到11 月的最终版本。 我们期待一个很棒的新.NET 版本。
您可以下载适用于 Linux、macOS 和Windows 的.NET 6 预览版 6。
请参阅ASP.NET Core、EF Core和.NET MAUI文章来了解更多关于Web、数据访问和客户端方案的新功能。
从.NET 6 预览版6 开始,我们已经测试并支持Visual Studio 2022 预览版2。Visual 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 Silicon和Windows Arm64上支持x64 仿真。 我们需要做两件事来实现这一点。
- 并排安装程序
- 以.NET CLI 为目标的一流架构(主要)支持在各种场景中使用本机架构SDK。
在可以使用并排安装程序之前(之后在.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
- 添加选项以随机选择受保护的 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
以下改进基于这些更改。



更多改进:
代码质量
- 消除多余的"测试"指令https://github.com/dotnet/runtime/pull/53214
结束语
随时每一个预览版的发布,很快我们将只处理最紧迫的一些的反馈,来为我们最终的版本提供最高的质量保证,如果您尚未尝试.NET 6,请立即尝试。 因为这将是你影响发布的最后机会啦。
感谢所有让.NET 6 成为更棒的版本做出贡献的人。
感谢您成为.NET 开发人员。
最后有任何的.NET相关的开发问题,欢迎到Microsoft Q&A论坛提问。
官宣 .NET 6 预览版 6的更多相关文章
- 官宣.NET 6 预览版4
我们很高兴发布 .NET 6 Preview 4.我们现在大约完成了 .NET 6 发布的一半.现在是一个很好的时机,可以再次查看.NET6的完整范围.许多功能都接近最终形式,而其他功能将很快推出,因 ...
- 官宣 .NET MAUI 预览版 6
最近,我们发布了.NET 多平台应用程序UI (MAUI)的最新进展. 在此版本中,我们全力支持Visual Studio 2022 预览版2.这也标志着我们首次将.NET MAUI 作为工作负载安装 ...
- 【译】Visual Studio 15 预览版更新说明
序:恰逢Build2016大会召开,微软发布了VS2015的update2更新包和VS2016预览版.本人正在提升英文水平中,于是在这里对VS2016预览版的官方文档进行了部分翻译.因为VS有些功能使 ...
- Android 发布可穿戴设备 SDK 的开发者预览版
今早上安卓官网查资料,发现网站上赫然显示着"Android Wear"几个大字.难道……?点进去看,果然,Android发布了可穿戴设备的SDK的开发者预览版. 其中这第五张图…… ...
- [下载] VS 2013 Update 4 & 社群版 (Visual Studio Community) & VS 2015 Preview预览版
这是我的备份,原文请看http://www.dotblogs.com.tw/mis2000lab/archive/2014/11/13/vs2013_update4_community_vs2015_ ...
- PyCharm:2017.3版即将新增科学计算模式,预览版现在可以下载使用
编译:Lemon,原文作者:Ernst Haagsman 公众号:Python数据之道(ID:PyDataRoad) pycharm:2017.3版即将新增科学计算模式 在JetBrains将发布的新 ...
- Asp.net Core中SignalR Core预览版的一些新特性前瞻,附源码(消息订阅与发送二进制数据)
目录 SignalR系列目录(注意,是ASP.NET的目录.不是Core的) 前言 一晃一个月又过去了,上个月有个比较大的项目要验收上线.所以忙的脚不沾地.现在终于可以忙里偷闲,写一篇关于Signal ...
- 【最新】Power BI混合现实应用Mixed Reality app预览版正式发布
1.介绍 2018年3月13日,Power BI在官方博客和Docs文档发布了Power BI for Mixed Reality应用预览版的消息, 也就是可以以后在更虚拟的世界中来观察你的报表,想象 ...
- 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 ...
随机推荐
- php mkdir 创建多级目录以及修改权限
mkdir() 用法:mkdir($path,0777,true); 第一个参数:必须,代表要创建的多级目录的路径:第二个参数:设定目录的权限,默认是 0777,意味着最大可能的访问权:注意:mode ...
- pip与apt-get的使用
pip的使用 pip 是 Python 包管理工具,该工具提供了对Python 包的查找.下载.安装.卸载的功能. pip --version #python2.x 版本命令,显示版本和路径 p ...
- macos 安装telnet命令
在10.12及以下版本,都内置了telnet命令,但是在10.13中,已经取消了 接下来给大家介绍下如何安装telnet命令 打开"终端",输入: /usr/bin/ruby -e ...
- linux 之管道命令与重定向
一.Linux重定向 重定向能够实现Linux命令的输入输出与文件之间重定向,以及实现将多个命令组合起来实现更加强大的命令.这部分涉及到的比较多的命令主要有: 涉及到的比较多的命令主要有: cat:连 ...
- Linux安装telnet(转)
一.安装telnet 1.检测telnet-server的rpm包是否安装 [root@localhost ~]# rpm -qa telnet-server 若无输入内容,则表示没有安装.出于安 ...
- php curl处理get和post请求
CURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP.FTP.TELNET等.最爽的是,PHP也支持 CURL 库.使用PHP的CURL 库可以简单和有效地去抓网页.你只 ...
- F5负载均衡-配置指导手册(含IPv6)
F5负载均衡-配置手册 设备概况 图形化界面 通过网络形式访问F5任一接口地址,打开浏览器输入https://网络接口地址:或pc机直连F5的MGMT带外管理口,打开浏览器,输入https://192 ...
- 【Git】pull遇到错误:error: Your local changes to the following files would be overwritten by merge:
这种情况下,如何保留本地的修改同时又把远程的合并过来呢? 首先取决于你是否想要保存本地修改.(是 /否) 是 git stash git pull origin master git stash po ...
- python使用笔记006-函数+json操作
一.函数 函数:提高代码的复用性 1.1 函数的定义 1 def hello(): 2 print('hello') 3 print('fdsfjslkfs') 4 5 #函数不调用就不会执行 6 h ...
- 【剑指offer】77.调整数组顺序使奇数位于偶数前面
77.调整数组顺序使奇数位于偶数前面 知识点:数组:快速排序:冒泡排序: 题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部 ...