.NET 6 预览版 7:新功能已完成 ,将专注于改进

.NET 团队的项目经理 Richard Lander在宣布 .NET 6 Preview 7 时说:“这是 .NET 预览的又一季的结束。”, 中文翻译:.NET 6 预览版 7 发布——最后一个预览版。.NET 6.0 是微软统一 .NET 平台的一个重要版本和第一个 LTS(长期支持)迭代,旨在取代 .NET Framework(现在是旧版)和 .NET Core。最新的预览版附带了大量信息,包括 Visual Studio 2022 预览版 3、.NET MAUI(多平台应用程序 UI)预览版 7——它取代了跨平台移动项目的 Xamarin——以及对 ASP.NET Core 的更新。

Richard Lander 说新功能基本上都已经完成,开发团队现在专注于改进,因为它解决了两个可能在 11 月全面上市之前用于生产的候选版本。自从 .NET 6 自预览版 1 以来一直在支持 Microsoft 的关键应用——Bing.com 和 .NET 网站。现在,随着下个月RC1的发布,会有更多的组织开始采用.NET 6。开源项目ABP vNext 的5.0 版本开始已经开始,这个版本的一个重要目标就是升级到使用.NET 6,具体参见:https://docs.abp.io/en/abp/latest/Road-Map。

Lander 在 8 月 10 日的博客文章中说:“我们正在与各个团队(Microsoft 和其他团队)就将 .NET 6 RC 投入生产进行沟通。” 他邀请有兴趣采用 .NET 6 进行生产的组织与 Microsoft 联系以获取详细信息和指导。为生产工作负载做好准备,开发团队现在专注于最后的润色改进,按照 .NET 主题计划(主题网站:https://themesof.net/)将所有内容提升到统一的高品质水平:

Lander 表示,最后一次预览特别重要, .NET 团队成员在 RC 完善阶段之前努力工作以添加新功能,同时平衡以下优先级:

  • 每个版本都添加了很多功能以提供新的价值。

  • 新版本是高质量的。

  • 根据我们每年 11 月的时间表发布正式版。

就预览版 7 中的新功能而言,有些得到了改进,而有些则是“大而全的发布功能”。例如大家期待已久的HTTP/3/Quc的支持, 预览版 7 在 Kestrel 中引入了对 HTTP/3 和 QUIC 的早期支持,以供试用并提供反馈,HTTP/3 是 HTTP 的第三个也是即将推出的主要版本。HTTP/3 使用与 HTTP/1.1 和 HTTP/2 相同的语义:相同的请求方法、状态代码和消息字段适用于所有版本。不同之处在于底层传输。HTTP/1.1 和 HTTP/2 都使用 TCP 作为它们的传输。HTTP/3 使用了一种与 HTTP/3 一起开发的新传输技术,称为 QUIC。具体参见ASP.NET Core的预览版7更新:https://devblogs.microsoft.com/aspnet/asp-net-core-updates-in-net-6-preview-7/。

还有.NET SDK模板 也做了大量的更新,把c#语言的9.0 版本最新功能引入,以充分利用最新的C# 语言用法,比如代码生成器、编译时反射、顶级语句等,c# 10版本还在预览版,要了解C# 10的完整特性,可以阅读文章:C# 10 完整特性介绍。顶级语句这个功能在博客下方引起了争论,Lander 博客评论中提出的几个问题,以及他的回答:

  • 问: “我知道 C# 正试图与 Python 和 JavaScript 竞争以吸引年轻开发者的注意力,但你们能不能不要删除专家模板?”
    Lander: “不是那样的。这些模板植根于(至少)40 年前的模型中。它们不以专业知识为中心。这更像是旧学校/新学校。当然,我们确实相信这些模板将使对于熟悉 Python 或 JavaScript 或完全不熟悉编程的人来说,学习 C# 更容易。也许这这个改变的一半原因。另一半是当前的模板没有承载它们的重量,而且也很混乱。我已经有了多次查找 AsyncMain 的语法(即使它是微不足道的),顶级语句消除了整个问题

  • 问: “因此,根据我从您提供的链接中收集到的信息,这仅适用于‘简单程序和新程序员’。是否有可用的配置选项,或者您是否将其强加给我们所有人?”
    Lander: “是什么让你得出这个结论?顶级语句模型几乎实现了‘经典’模型的所有功能。它绝对超越了简单程序和新程序员。这是一个很好的例子,一个非简单程序:https://github.com/dotnet/iot/blob/main/src/devices/Pn532/samples/Program.cs。除了该程序演示的内容之外,您还期望做什么?”

除了顶级语句之外,SDK 包含的项目模板中默认使用或启用的其他语言功能包括:

  • 全局 using 指令(通过SDK 驱动的默认值)

  • 文件范围的命名空间(编译器跟踪问题)

  • 目标类型new表达式

  • 异步主

  • 可空引用类型

说到最后一项,可空引用类型,开发人员现在可以使用新的 Reflection API 来检查它们,这些 API从 Reflection 公开顶级可空性信息,帮助他们表达是否可以构建给定的引用类型并确定参数和返回值的可空性性质对于给定的方法。

System.Text.Json 在多个方面进行了改进,包括控制属性序列化顺序的新功能。此外,它的序列化程序现在将通知作为(反)序列化操作的一部分公开。

除了对库的大量其他调整和更多新功能之外,早期的 .NET 7 功能可在预览中使用,例如允许在接口中使用static abstract声明成员。“,现在可以实现代数泛型方法,”Lander谈到开发static abstract人员在接口中定义方法——包括运算符——的新能力。“对于某些人来说,此功能将是我们今年提供的绝对出色的改进。它可能是自 Span<T> 以来最重要的新型系统功能。”, 软件工程师 Tanner Gooding 解释说:“您现在可以声明同时是静态和抽象的接口成员。” 这实现了他所说的 .NET 中长期要求的特性,“在泛型类型上使用运算符的能力”。专门写了一篇博客文章介绍通用数学。

至于其他库的改进,以下是更多信息的链接:

  • NativeMemory的API - “新的本机内存分配 API,“通过 System.Runtime.InteropServices.NativeMemory 公开”,这些API代表等同于mallocfreerealloc,和callocÇAPI和还包括用于对准做分配的API。”

  • 同步流重载JsonSerializer——“我们添加了新的同步 API,JsonSerializer用于将 JSON 数据序列化和反序列化到/来自流。”

  • System.Diagnostics Propagators - 这与以正确格式生成网络标头以支持OpenTelemetry 有关。该团队正在采用传播远通用标头自定义模型。

  • 加密操作的简化调用模式——新的简化加密和解密方法提供了一种使用加密 API 的直接方法,特别是当加密/解密有效负载已经在内存中并且没有被流式传输时。

  • 全球化不变模式下的完整大小写映射支持——“我们改进了全球化不变模式以支持完整 Unicode 字符集的大小写映射。”

Richard Lander说.NET 6.0 将包括不支持生产的预览功能。对于 .NET 6,“我们已经构建了将 API 标记为‘预览中’的功能,这些是选择加入,使用 EnablePreviewFeatures 项目属性和对 System.Runtime.Experimental 的引用。这些功能可能会发生重大变化,因此仅用于测试和实验。

Lander 说:“我们继续希望并依赖您的反馈。我们将把 .NET 6 的其余部分集中在回归上(功能和性能)以及在新功能中发现的错误。在大多数情况下,功能改进需要等待 .NET 7。请分享您的任何和所有反馈,我们很乐意对其进行分类。”

Visual Studio 也已更新, Visual Studio 2022 的预览版 3 添加了新的项目属性设计器、改进的深色主题和新的项目类型,以支持使用 TypeScript 或 JavaScript 的 React 和 Vue.js。另一个新功能是能够在单个解决方案中使用多个 Git 仓库。

Visual Studio 2019 也更新到 16.11,高级项目经理 Mads Kristensen表示这是最后一次基线更新。因此,“我们鼓励企业和专业客户在 Visual Studio 2019 16.11 上实现标准化,”新功能包括 .NET 应用程序的热重载(查看动态代码更改的输出)、改进的 Git 工具以及将 Clang/LLVM 工具链更新到版本 12。

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

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

相关文章

Windows server 2003 CA配置(一)

CA:Certificate Authority,证书权威机构,也称为证书颁发机构或认证中心)是PKI中受信任的第三方实体.负责证书颁发、吊销、更新和续订等证书管理任务和CRL发布和事件日志记录等几项重要的任务。首先&#xff0c;主体发出证书申请&#xff0c;通常情况下&#xff0c;主体将生成密…

js堆和栈的区别_几个例子理解不同数据类型的堆栈内存处理

如有错误烦请指正js代码的运行环境浏览器 内核(引擎)nodewebview(hybrid&#xff0c;嵌入到手机app里面&#xff0c;在app里面运行)...下面通过几个例子理解不同数据类型的堆栈内存处理js如何运行(示例1)var a 12;var b a;b 13;console.log(a);浏览器能够运行js代码&#xf…

世界上没有后悔药,时间匆匆,从关注它们开始......

全世界只有3.14 % 的人关注了青少年数学之旅在这个资讯丰富且易获取的时代&#xff0c;越来越多的人不愿意花时间阅读书籍&#xff0c;碎片化阅读成了主流。人们获取的东西多而杂&#xff0c;很难系统、全面。海量信息对人是冲击&#xff0c;更是诱惑。谁不想了解天下奇闻&…

什么?面试官问我Java内存模型!这不得给我加薪?

内存模型的基础 通信  线程之间以何种机制来交换信息 共享内存  隐式通信消息传递  显示通信 同步  程序中用于控制不同线程间操作,发生的相对顺序的机制 共享内存  显式同步消息传递  隐式同步 Java线程线程之间是通过共享内存的方式实现通信的. 内存模型的抽…

使用 Blazor 开发内部后台(四):基于Card组件快速搭建导航首页

James: 本系列为大家介绍如何使用 Blazor 来开发管理后台&#xff0c;有兴趣的朋友欢迎跟着实验&#xff0c;体验 Blazor 开发的高效与乐趣。本系列目录&#xff1a;使用 Blazor 开发内部后台&#xff08;一&#xff09;&#xff1a;认识Blazor使用 Blazor 开发内部后台&#x…

2020年,朋友圈的正确打开方式!

全世界只有3.14 % 的人关注了青少年数学之旅各位读者朋友们大家好 我是你们的小伙伴上流君我们开始不定期做互推了不是广告&#xff0c;根据兴趣关注感谢理解与支持ღ( &#xff65;ᴗ&#xff65; )比心有些人&#xff0c;生活离不开朋友圈。朋友圈是他们展示自我、观察世界的…

因为我把JMM原理讲解了一遍,这给足了我涨薪的底气!

一、什么是JMM&#xff1f; JMM指的是Java内存模型&#xff0c;即 Java Memory Model Java内存模型并不是一种实际存在的东西&#xff0c;而是一种人为形成的约定&#xff0c;是一种概念。 关于JMM&#xff0c;我们需要了解一些相关的同步约定 &#xff1a; 线程在解锁前&…

防腐投加器需要加盐吗_果干、果脯、蜜钱、水果脆片,哪个有营养?你吃对了吗?...

时下&#xff0c;追求健美瘦身的年轻人&#xff0c;常把水果千作为零食、加餐的选择之一。大家认为水果干不仅味道好&#xff0c;富含营养素&#xff0c;而且热量低。还有一些人会把果脯、蜜钱、水果脆片等当作新鲜水果的替代品&#xff0c;用以补充营养一认为果 脯、蜜钱的原料…

.NET6正式版将近,70%开发者或面临技术断层!

过往一周&#xff0c;VS2019 发布了最新V16.11&#xff0c;正式支持热重载&#xff1b;.NET6发布了最后一个预览版Preview7&#xff0c;各大新功能宣告完成&#xff1b;随之C#10的新特性也基本成型&#xff0c;好东西很多&#xff01;各种密集的版本更新&#xff0c;佐证了行业…

一只蝙蝠的自述在朋友圈火了:千万不要再吃野味了!

全世界只有3.14 % 的人关注了青少年数学之旅来源&#xff1a;少女兔&#xff08;ID&#xff1a;iiilass&#xff09;、人民日报&#xff08;ID&#xff1a;rmrbwx&#xff09;从营养价值上来看野生动物和家养动物的差别微乎其微既不能延年益寿&#xff0c;也不能青春永驻它们不…

掌握JVM 运行时数据区,其实不是很难,加薪也是要技巧可言的!!!

一、概念 Java 内存区域和内存模型是不一样的东西&#xff0c;内存区域是指 Jvm 运行时将数据分区域存储&#xff0c;强调对内存空间的划分。 而内存模型&#xff08;Java Memory Model&#xff0c;简称 JMM &#xff09;是定义了线程和主内存之间的抽象关系&#xff0c;即 J…

不要被约束的意思_俗话说:“娶妻不娶颧骨高,嫁汉不嫁连眉梢”,到底什么意思?...

“世有伯乐&#xff0c;然后有千里马。千里马常有&#xff0c;而伯乐不常有。”——《杂说》 唐韩愈传说春秋时期&#xff0c;有个叫伯乐的人很会选马&#xff0c;他选马的时候&#xff0c;并不需要骑着马真刀真枪地跑几圈&#xff0c;只是看看马的骨相、听听马的嘶鸣就能判断出…

终于来了!微软正式推出 VS Code 测试 API

随着 Visual Studio Code 1.59.0 正式版本的发布&#xff0c;全新的插件测试 API 也从试验版本进入了正式版本。自 2020 年 9 月起至今&#xff0c;经过了将近一年及数次版本迭代的打磨&#xff0c;不管是 API 的功能性还是易用性&#xff0c;与首个预览版本相比都获得了极大的…

MariaDB 10的复制 集群 高可用搭建 大表拆分【持续更新中】

视频地址 http://edu.51cto.com/course/course_id-1691.htmlMariaDB 10培训课程第一部分 复制1.基于GTID方式复制配置及注意事项2.基于表的并行复制3.多源复制&#xff08;MariaDB 10支持多主一从&#xff09;4.从库延迟如何找到那条执行慢的SQL5.复制异常处理1062,1032错误处理…

c++歌手大赛系统_计人即讯|第十届程序设计大赛

“第十届程序设计大赛”为激发学生学习计算机语言和科学使用计算机的热情&#xff0c;培养独立思考、勇于创新的探索精神和敢闯会创的意志品格&#xff0c;我院于12月5日13时30分在中主阶教201室成功举办了“第十届程序设计大赛”。本次大赛主要考察选手们应用计算机解决生活中…

限时9.9元 | 快速领取数学建模竞赛备战必备技巧与论文详解!

全世界只有3.14 % 的人关注了青少年数学之旅大家晚上好&#xff0c;随着美赛时间的公布以及大大小小的数学建模竞赛的进行&#xff0c;小天经常可以收到来自很多小伙伴们提出的问题&#xff0c;“竞赛中如何去考虑选题&#xff1f;”、“如何进行思路分析&#xff1f;”、“参考…

项目经理问我Java内存区域模型!急急急

也就这么点吧 Java内存区域主要分为&#xff1a;堆&#xff0c;栈&#xff0c;方法区三大部分 1、堆&#xff1a;是内存区域中最大的部分&#xff0c;所有线程共享&#xff0c;其中存放创建的对象和数组。由于堆是垃圾收集器管理的主要区域&#xff0c;因此也叫GC堆。 2、栈…

设计模式之中介者

中介者模式介绍中介者模式中介者模式是一种行为设计模式&#xff0c;能让你减少对象之间混乱无序的依赖关系&#xff0c;该模式会限制对象之间的直接交互&#xff0c;迫使它们通过一个中介者对象进行合作。中介者模式顾名思义&#xff0c;可以用我们平时生活中的房产中介去理解…

你的网页加载太慢了怎么办?

客户反映&#xff0c;“网页速度太慢了&#xff01;&#xff01;”&#xff0c;怎么办&#xff1f; 这个问题似乎有些难以解决&#xff0c;慢了就是慢了&#xff0c;也许用户使用就是一个56K猫&#xff0c;也许服务器只有256K的带宽&#xff0c;也许是网页设计有问题&#xff…

看了这个逻辑关系图,才更清晰为何不让你随便外出了

全世界只有3.14 % 的人关注了青少年数学之旅看了这个逻辑关系图&#xff0c;才更清晰为何不让你随便外出了。非常时期&#xff0c;爱国、爱家、爱自己&#xff0c;请近期减少不必要的外出&#xff0c;直到官方宣布疫情解除&#xff01;转载来源&#xff1a;刘小兔爱画画部分素材…