.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/la…。
Lander 在 8 月 10 日的博客文章中说:“咱们正在与各个团队(Microsoft 和其余团队)就将 .NET 6 RC 投入生产进行沟通。”他邀请有趣味采纳 .NET 6 进行生产的组织与 Microsoft 分割以获取详细信息和领导。为生产工作负载做好筹备,开发团队当初专一于最初的润色改良,依照 .NET 主题打算(主题网站:https://themesof.net/)将所有内容晋升到对立的高品质程度:
.NET 6 预览版 7 公布——最初一个预览版:
https://mp.weixin.qq.com/s/fM…
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.co…。
还有.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…。除了该程序演示的内容之外,您还冀望做什么?”
C# 10 残缺个性介绍:
https://mp.weixin.qq.com/s/jE…
除了顶级语句之外,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 代表等同于 malloc,free,realloc,和 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。
微软最有价值专家是微软公司授予第三方技术专业人士的一个寰球奖项。27 年来,世界各地的技术社区领导者,因其在线上和线下的技术社区中分享专业知识和教训而取得此奖项。
MVP 是通过严格筛选的专家团队,他们代表着技术最精湛且最具智慧的人,是对社区投入极大的激情并乐于助人的专家。MVP 致力于通过演讲、论坛问答、创立网站、撰写博客、分享视频、开源我的项目、组织会议等形式来帮忙别人,并最大水平地帮忙微软技术社区用户应用 Microsoft 技术。
更多详情请登录官方网站:
https://mvp.microsoft.com/zh-cn