微软宣布正式推出 .NET 7 ,使用 .NET 7 可以轻松地将 .NET 7 项目容器化,在 GitHub 操作中设置 CI/CD 工作流,并实现云原生可观察性。
.NET 7 是标准期限支持 (STS) 版本,将支持 18 个月。在整个 .NET 7 版本中,超过 8900 名贡献者做出了 28k 代码贡献。
.NET 7 的优化主要集中在:
一个基类库(Base Class Library - BCL)
使用 .NET 7,只需学习一次,就可以通过一个 SDK、一个运行时、一组基础库重复构建多种类型的应用程序(云、Web、桌面、移动、游戏、IoT 和 AI)。
对 ARM64 的原生支持
优化了在 Arm 机器上的性能,包括估算 L3 缓存大小、引入了 LSE 原子指令、优化使用内在函数的库。
详情可查看 .NET 7 中的 Arm64 性能改进。
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" 42, 42 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
有关微软与 Canonical 和 ARM 合作的更多信息,请阅读 .NET 6 now in Ubuntu 22.04。
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。
NET MAUI
NET MAUI 已是 .NET 7 的一部分,具有大量改进和新功能。可查看 .NET MAUI 的状态 和项目路线图,以获取更多信息。
现代化
- 开发人员生产力增强,例如容器优先的工作流程
.NET SDK 支持输出容器图像,有关内置容器支持的更多信息,请参阅对 .NET SDK 的内置容器支持。
升级助手
.NET 升级助手包含更多分析器、代码修复程序,以及对更多应用程序类型的升级支持,可帮助开发者更轻松地升级 .NET 7 应用程序组合,减少升级应用的工作量。
.NET 云原生
.NET 7 更易于构建和部署分布式云原生应用。
性能
. NET 7 有多项性能优化,比如:
- 堆栈更换 (On Stack Replacement - OSR),提高了启动时间。
- 配置文件引导优化 (Profile-Guided Optimization - PGO)
- 原生 AOT ,主要优势在于启动时间、内存使用、访问受限平台(不允许 JIT)以及磁盘空间更小。
下载和升级
可以立即下载适用于 Windows、macOS 和 Linux 的免费 .NET 7 版本。
更多内容可查看更新公告。