.NET 7 中的新增功能:.NET 7 的新功能和最新更新!

yanding 2023-06-01 249

我们都对 .NET 7 的发布感到兴奋,正如我们所知,每年 11 月左右,Microsoft 都会发布最新版本的 .NET。最后一个版本 .NET 6 于 2021 年 11 月 8 日发布,并且按照同一时间线,Microsoft 将 .NET 7 的发布日期定在 2022 年 11 月 8 日,即为期三天的 .NET Conf 在线活动的开幕日与去年发布日期相同的 .NET 6。今年新版本的好消息是它主要关注统一、现代、简单和快速。所以,事不宜迟,让我们跳到细节。

.NET 7 中的新增功能:.NET 7 的新功能和最新更新!

.NET 7 的新增功能和更新

Microsoft 推出了带有 STS(标准期限支持)的 .NET 版本 7 或仅提供 18 个月支持的较短支持版本。微软今年推出STS版本,是因为它在2019年就已经提到,每年11月左右都会发布一个新版本的.NET。但是,考虑到新的官方 .NET 7 功能和更新,它仍然为用户带来了大量更改和 .NET 7 性能改进。下面给出了 .NET 7 与 .NET 6 之间的 17 个值得注意的差异,如下所示:

1. 堆栈替换(OSR)这允许在执行过程中通过某种方式更改执行的代码。这将有助于长时间运行的方法在执行过程中转移到更快的版本。

2.正则表达式改进:一些正则表达式改进,使它们在 .NET 7 中更好一些。

3. 简化的 LINQ 排序

4.动态PGO改进:Dynamic PGO 旨在对 Static PGO 进行一些关键更改,静态 PGO 要求开发人员使用与培训分开的特殊工具,Dynamic PGO 不需要任何这些;您需要做的就是运行您有兴趣优化的应用程序,然后为 Microsoft 收集数据!

5.反射改进:通过 Microsoft 的此更新,现在在 .NET 7 中使用反射调用成员时的开销已大大减少。

6. 应用修整改进:修剪您在特定应用程序中不需要的东西并制作更小的应用程序,从而提供更小的 .exe 大小。

7. 修剪库:修剪不需要或不需要的库。

8.日期时间中的纳秒和微秒值允许您从 Date Time 对象中获得更具体的值。

9. 内存缓存改进这是专门针对 ASP.NET 的,但这是对我们如何进行内存缓存的改进。

10. TAR 文件创建:.NET 6 已经允许创建 .ZIP 文件,但最新版本的 .NET 7 现在允许创建 .TAR 文件。

11. Blazor 变化:空白模板,示例 Blazor 模板(其中没有启动示例数据),

  • 导航改进

  • 在 Blazor Web 组件中加载进度条

  • 虚拟化改进:更快地在屏幕上显示内容并查看响应速度更快的网站

  • 通过状态

  • 自定义元素改进

  • 更好的 .NET Maui 性能

12. Blazor 混合认证与授权:以前,没有对构建 .NET Maui 应用程序的支持,但现在有关于如何做的实际支持,可以节省时间。

13.复杂的身份验证支持:允许在后端创建 8 个复杂的令牌

14. 最小的 API 改进

  • 输出缓存

  • 速率限制:之前您必须手动编写队列,但现在只需对您自己的应用程序进行速率限制,然后管理调用依赖项的速率和更好的用户体验

  • 在最小 API 中上传文件

  • 以最少的 API 改进开放 API

  • 路由过滤器处理

  • 改进的依赖注入

  • ASP.NET Core中的一些改进,例如 MVC 和 Blazor Pages 的可空模型

15. 根据 GDPR 更改 cookie 同意的值,在 .NET 6 中,它是手动完成的,但现在只需复制并粘贴 20 行代码,您就可以获得 cookie 横幅和接受等。

16. 同时使用 gRPC 和 REST API然后你需要为两者编码,但现在添加了 .JSON 转码,所以如果有人调用你的 REST API 并且不知道如何使用 gRPC,他们可以使用 REST 使你的服务到服务和客户端到服务的速度更快。

17. 其他附加变化

  • 加载应用程序时加载 Circle

  • 使好的代码相对较快

  • Blazor 的基本加密支持

这是您需要了解的有关 .NET 7 的所有内容的概述,要更深入地了解新版本和以前的版本,您可以参考.NET 博客.NET Conf并获取相关信息并使用它们。

是什么给 .NET 7 带来了这么多变化?

.NET 开源社区已经交流并提出了大量有助于塑造 .NET 7 版本的意见。说到实际投稿数,有不止28k 贡献由以上制作8900 位贡献者在 .NET 7 的整个发布过程中来自社区。

您将如何从 ASP.NET 6.0 Core 和 7.0 迁移

现在我们已经熟悉了 .NET 7.0 的最新功能。让您心烦意乱的问题一定是“我应该从 .NET 6 转向 .NET 7”吗?出色地!答案取决于您的需要和要求,是否完全转向 .NET 7 取决于您。而且,如果您选择从 ASP.NET Core 6.0 迁移到 7.0,我们已经给出了您可以执行的步骤相同的。

而且,如果您选择迁移到 .NET 7,下面是Microsoft提供的从 ASP.NET 6.0 迁移到 7.0 的分步指南。

从 ASP.NET 6.0 迁移到 7.0 的初始先决条件是拥有 Visual Studio Code 2022。


更新 global.json 中的 .NET Core SDK 版本\

如果您使用global.json文件来定位特定的 .NET Core SDK 版本,请将版本属性更新为安装的 .NET 7.0 SDK 版本。例如:

.NET 7 中的新增功能:.NET 7 的新功能和最新更新!
{
 “SDK”:{- “版本”:“6.0.200”+“版本”:“7.0.100”
 }}

目标框架或 TFM 更新

将 TFM 或目标框架更新到 .NET 7.0

.NET 7 中的新增功能:.NET 7 的新功能和最新更新!
<Project Sdk="Microsoft.NET.Sdk.Web">
 <属性组>- <TargetFramework>net6.0</TargetFramework>+ <TargetFramework>net7.0</TargetFramework>
 </物业组></项目>

对更新包的引用

在项目文件中,将所有Microsoft.AspNetCore .*、Microsoft.EntityFrameworkCore .*、Microsoft.Extensions.*System.Net.Http.Json包引用的 Version 属性更新为 7.0.0 或更高版本。例如:

.NET 7 中的新增功能:.NET 7 的新功能和最新更新!
<物品组>- <PackageReference Include="Microsoft.AspNetCore.JsonPatch" Version="6.0.9" />- <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="6.0.9">- <PackageReference Include="Microsoft.Extensions.Caching.Abstractions" Version="6.0.9" />- <PackageReference Include="System.Net.Http.Json" Version="6.0.0" />+ <PackageReference Include="Microsoft.AspNetCore.JsonPatch" Version="7.0.0" />+ <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="7.0.0">+ <PackageReference Include="Microsoft.Extensions.Caching.Abstractions" Version="7.0.0" />+ <PackageReference Include="System.Net.Http.Json" Version="7.0.0" /></项目组>

恭喜!您的 .NET 7 已准备好执行其操作。

结论

正如我们所看到的,Microsoft 正在履行其每年向其用户提供卓越更新的承诺。我相信这篇博文一定让您对 .NET 7 带来的最新功能和更新有了不错的了解。它将帮助您决定是应该升级到 .NET 7 还是等待 2023 年的 .NET 8。

此外,Bacancy 是提供全球一流的全栈开发服务的领先品牌。我们才华横溢的专家可以在您的整个开发过程中为您提供帮助。如果您还计划为您的下一个项目雇用 .NET 开发人员。与我们的专家联系 30 分钟。免费致电并了解他们的专家建议如何为您的项目做出贡献。

言鼎科技)专做软件开发,微信小程序,网站开发,软件外包,手机APP开发,欢迎资讯!

The End