IT之家 11 月 9 日消息,当地时间 11 月 8 日星期二,微软 .NET Conf 在线活动正式开幕。作为微软开源、跨平台开发平台,.NET 7 现已推出首个正式版,这也代表微软的“统一工作”终于完成。
微软表示,使用 .NET 7 可以轻松地将 .NET 7 项目容器化,在 GitHub 操作中设置 CI / CD 工作流,并实现云原生可观察性。它拥有一个广泛的.NET 包生态系统,其中包括超过 330000 个包。
体育 值得一提的是,.NET 7 是标准期限支持 (STS) 版本,将支持 18 个月而非 36 个月。在整个 .NET 7 版本中,目前有着超过 8900 名贡献者做出了 28k 代码贡献。
据介绍,.NET 7 的新功能包括
ASP.NET Core 7
Entity Framework Core 7
.NET MAUI
Windows Forms
WPF
Orleans 7
.NET 7 优化主要集中在:
统一的基类库(Base Class Library - BCL)、新的 TFM、对 ARM64 体育的原生支持、Linux 上增强的 .NET 支持
简单来说,如果使用 .NET 7,开发人员只需学习一次即可通过一个 SDK、一个运行时、一组基础库重复构建多种类型的应用程序(云、Web、桌面、移动、游戏、IoT 和 AI)。
此外,微软还优化了在 Arm 机器上的性能,包括估算 L3 缓存大小、引入了 LSE 原子指令、优化使用内在函数的库。
核心数 | L3 缓存大小 |
---|---|
1~4 | 4MB |
5~16 | 8MB |
17~64 | 16MB |
65+ | 32MB |
IT之家了解到,.NET 6 包含在 Ubuntu 22.04 (Jammy) 中,可以使用 apt install dotnet6 命令安装。此外,还有一个优化的、预构建的、开箱即用的超小型容器镜像。
dotnet % docker run --rm dotnet-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
其他方面,除了 x64 架构(64 位 Intel / AMD)、ARM64(64 位 ARM)和 s390x(64 位 IBM Z)外,.NET 现在也可用于针对 RHEL 的 ppc64le(64 位 IBM Power)架构 8.7 和 RHEL 9.1。
在现代化方面,.NET SDK 已经支持输出容器图像,微软还将带来持续的性能改进。
如果你现在使用的是.NET Core 版本,微软 .NET 7 可直接进行升级,如果您当前维护的是.NET Framework 版本,微软则提供了一些令人信服的迁移理由。
.NET 升级助手包含更多分析器、代码修复程序,以及对更多应用程序类型的升级支持,可帮助开发者更轻松地升级 .NET 7 应用程序组合,减少升级应用的工作量。此外,.NET 7 更易于构建和部署分布式云原生应用。
性能
. NET 7 有多项性能优化,比如:
堆栈更换 (On Stack Replacement - OSR),提高了启动时间。
配置文件引导优化 (Profile-Guided Optimization - PGO)
原生 AOT ,主要优势在于启动时间、内存使用、访问受限平台(不允许 JIT)以及磁盘空间更小。
此外,微软还阐明了一些.NET 7 中的中断性变更内容,开发者可参阅官方文档。
平台