17611538698
info@21cto.com

.NET 7 正式版发布

作者 万能的大雄 分类 资讯 11月10日

图片

Microsoft 序列开发者们,期待已久的 .NET 7 在 11月9日正式发布。


微软宣布说,.NET 7基础设施现在可用于Windows、macOS和Linux系统。此版本有大量的增强功能与新功能。


微软的开发者博客这样说道:多年来,微软产品的性能和功能一直在不断提高,而.NET在实现这一目标方面发挥了重要作用。而.NET 7的出现是为了帮助在这个前提下进一步发展。

在发布第一个预览版时,微软就表示.NET 7“标志着迈向 .NET 下一个 20 年的第一步”。

.NET 7 是标准期限支持 (STS) 版本,将支持 18 个月。在整个 .NET 7 版本中,超过 8900 贡献者做出了 28k 代码贡献。

下面将.NET的优化与主要更新说明如下:

一个基类库(Base Class Library - BCL)

.NET 7 利用了 .NET 6 中的一些基础,包括简化开发体验、提高开发人员生产力,以及一组统一的基础库、运行时和 SDK。 

.NET 7 的重点提供了用于升级旧项目的工具、改进的云原生开发支持以及使用容器的简化体验等。

NuGet 首席项目经理 Jon Douglas;Jeremy Likness,.NET Web 框架和席项目经理、品经理 Angelos Petropoulos 在中写道:

“.NET 7 专为现代云原生应用、移动客户端、边缘服务和桌面技术而构建“。 

图片

.NET MAUI 已包含在 .NET 7 中,开发人员更容易创建其应用程序移动版本。

版本7还包括对 Blazor 的更新,这是一个用 C# 创建 Web 应用程序的框架。包括对处理位置更改事件的支持、对 WebAssembly 调试体验的改进以及对使用 OpenID Connect 进行身份验证开箱即用的支持。 

想把 .NET 6 应用程序升级到 .NET 7,微软还提供了 .NET Upgrade Assistant,该工具为进行切换提供了分步指导、见解和自动化三种方式。

图片

ARM64 的原生支持


优化了在 Arm 机器上的性能,包括估算 L3 缓存大小、引入了 LSE 原子指令、优化使用内在函数的库。


Linux 增强的 .NET 支持


.NET 6 包含在 Ubuntu 22.04 (Jammy) 中,可以使用apt install dotnet6命令安装。此外,还有一个优化的、预构建的、开箱即用的超小型容器镜像。


dotnetapp % docker run --rm dotnetapp-chiseled 42 42 ,d ,d 42 42 42 ,adPPYb,42 ,adPPYba, MM42MMM 8b,dPPYba, ,adPPYba, MM42MMM a8" `Y42 a8" "8a 42 42P' `"8a a8P_____42 42 8b 42 8b d8 42 42 42 8PP""""""" 42 "8a, ,d42 "8a, ,a8" 4242 42 "8b, ,aa 42, `"8bbdP"Y8 `"YbbdP"' "Y428 42 42 `"Ybbd8"' "Y428 .NET 7.0.0-preview.7.22375.6 Linux 5.10.104-linuxkit #1 SMP PREEMPT Thu Mar 17 17:05:54 UTC 2022 OSArchitecture: Arm64 ProcessorCount: 4 TotalAvailableMemoryBytes: 3.83 GiB

64 位 IBM Power 支持

除了 x64 架构(64 位 Intel/AMD)、ARM64(64 位 ARM)和 s390x(64 位 IBM Z)之外,.NET 也可用于针对 RHEL 的 ppc64le(64 位 IBM Power)架构 8.7 和 RHEL 9.1。

Azure 以及容器支持

.NET 7 支持多种 Azure 平台即服务产品:适用于 Windows 和 Linux 的应用服务、静态 Web 应用、Azure Functions 和容器应用。

为了更轻松地使用容器,.NET 7 能让开发者使用“dotnet publish”创建其应用的容器化版本。

“容器的普及和实际应用正在上升,对于大多数公司来说,它们代表着部署到云的首选方式。但是使用容器会为团队的工作增加,包括构建和发布镜像、检查安全性和合规性以及优化镜像性能等。而使用 .NET 容器能够创造更好、更流畅的体验,” 微软团队博客这样写道。

以上是 .NET 7 中可用功能主要列表。完整列表,请访问微软博客:https://devblogs.microsoft.com/dotnet/announcing-dotnet-7/

编译:洛逸 

评论