微软发布 .NET 11 第一个预览版,新版本更新范围涵盖运行时(Runtime)、基础类库、SDK 与 MSBuild,以及 ASP.NET Core、Blazor 和 .NET MAUI 等组件。其中最受关注的两项更新,是在基础类库中加入 Zstandard 压缩支持,以及让 CoreCLR 成为 WebAssembly SDK 的一个目标,并同步增强浏览器托管 CoreCLR 的相关能力。
.NET 11 预览版将 Zstandard 纳入 .NET 基础类库,对应的 API 包括 ZstandardStream 及编码器、解码器等类。Zstandard 是 .NET 新增的原生压缩选项,官方指出其压缩与解压速度相较现有算法更快,同时保持具有竞争力的压缩比,能够完善更多常见数据处理场景的工具链。
另一个重点是 WebAssembly 方向的 CoreCLR 进展。.NET 11 第一个预览版在运行时层面率先完成让 CoreCLR 能在浏览器端运行的基础工程,目标是逐步将 .NET WebAssembly 的运行时从现有的 Mono 转向 CoreCLR。CoreCLR 是 .NET 默认的运行时,负责加载 .NET 组件并执行 C# 等语言编译后的代码,同时处理垃圾回收、线程管理等机制。但本版本仍处于奠基阶段,官方明确表示目前尚未达到可供常规使用的成熟度,后续预览版将逐步扩大可用范围与工具链整合。
.NET 11 预览版也强化了运行时的异步相关设计,新增以运行时为核心的异步方法基础架构,目标是让大量异步代码路径在性能与工具支持上更加完善。同时,也加强了对 RISC-V 和 s390x 架构的支持。在 RISC-V 方面,率先补充了对 C 扩展的支持;在 s390x 方面,则将 SIMD 支持扩展至较旧硬件,使无向量扩展的设备也能通过软件回退路径使用相关功能。
.NET SDK 与 MSBuild 的操作体验与可观测性均有提升。SDK 在命令行工作流中,如 dotnet run 增加了交互式的目标框架与设备选择;dotnet test 开始支持位置参数;dotnet watch 针对热重载时的引用变更与可配置端口等场景进行了优化。MSBuild 则主要改进终端记录器,配合性能优化与错误修复,使构建输出更易读,便于快速定位问题。
Web 框架 Blazor WebAssembly 新增 IHostedService,使浏览器端也能使用后台服务模型处理周期性更新或后台任务等场景。跨平台框架 .NET MAUI 在本次预览版中将 XAML 代码生成设为默认启用;.NET for Android 工作负载在 Release 构建中改以 CoreCLR 作为默认运行时,官方预期此举能提升与主线 .NET 的兼容性并缩短启动时间,但也可能导致应用程序体积增大。