15 2 月, 2026

微软发布.NET 11 首个预览版,推进多项技术革新

net-11-

IT之家消息,微软于当地时间2月10日发布了下一代.NET跨平台软件开发平台.NET 11的首个预览版(Preview 1),标志着其2026年开发周期的启动。微软表示,.NET 11将于今年11月推出稳定版,并将作为标准期限支持(STS)版本提供两年技术支持。

此次更新覆盖了多个组件,包括运行时、SDK、类库、C#、F#、ASP.NET Core、Blazor、.NET MAUI等,重点推进CoreCLR运行时对Mono的替代,并引入多项性能优化。微软建议开发者配合最新的Visual Studio Insiders或Visual Studio Code(搭配C# Dev Kit扩展)进行体验。

核心技术更新与性能优化

在运行时层面,.NET 11 Preview 1引入了一种新的“运行时级别异步机制”(runtime-level async),包含配置、诊断以及AOT(提前编译)支持。与此同时,.NET运行时也带来多项性能改进。

JIT(即时编译器)方面,.NET 11的改动重点包括提升启动吞吐量、启用更多优化并降低关键代码模式中的开销。微软称,其中一项改进是提升多核JIT的MAX_METHODS限制,以更好支持大型工作负载并改善方法密集型应用的启动表现。

“非共享的泛型虚方法将被去虚拟化,以减少虚调用开销并为进一步的内联与优化创造条件。”

JIT还扩展了基于模式的归纳变量分析,以覆盖更多循环分析场景,从而带来更多循环优化机会。

WebAssembly与移动端的迁移

在WebAssembly方面,微软正在推进将.NET WebAssembly从Mono运行时迁移到CoreCLR。微软从.NET 11开始启动将CoreCLR引入WebAssembly的初步工作,但该特性在Preview 1中尚未达到可正式发布的状态。作为相关工作的一部分,.NET 11 Preview 1开始启用面向Wasm的RyuJit,用于AOT编译。

微软正努力进一步减少.NET对Mono的依赖。尽管这一变化对开发者而言“感知不强”,但Mono仍被用于.NET MAUI(Multi-platform App UI)开发的移动应用,以及WebAssembly。此外,Mono项目已移交给WineHQ,但微软仍在.NET代码中维护一份Mono运行时。

在移动端方面,.NET 11的一个变化是CoreCLR成为Android构建的默认运行时。有报道指出,在.NET 10中该功能仍属实验性,而在.NET 11中已成为默认配置,微软称这将改善与.NET其他部分的兼容性,并降低启动时间。

类库与语言更新

在类库更新方面,.NET 11引入Zstandard(Zstd)压缩支持。与现有算法相比,Zstd可在保持竞争力压缩比的同时,实现更快的压缩与解压性能;新增API覆盖流式、一次性(one-shot)以及基于字典的压缩与解压能力。

“.NET 11还加入了‘按年份缓存时区转换’的机制,用于提升时间转换性能。”

语言层面,.NET 11 Preview 1引入C# 15与F# 11对应更新。其中C# 15增加两项新特性:F# 11方面,微软在.NET 11 Preview 1中默认启用并行编译,并提升了对计算表达式密集代码的编译速度,同时加入一些较小的新语言特性。

此外,F#移除了ML兼容性,之前为兼容ML而保留的asr、land、lor、lsl、lsr、lxor等关键字现在可作为标识符使用。微软称,F#最初作为运行在.NET上的OCaml方言诞生,编译器长期保留了诸如.ml、.mli文件扩展名、#light “off”指令以及–mlcompatibility等兼容性构造。如今这一阶段宣告结束,编译器、解析器和测试套件中约7000行遗留代码已被移除。

开发工具与Web框架的改进

在开发工具与SDK方面,.NET 11 Preview 1带来CLI命令改进、新的.NET代码分析器等变化。dotnet run将增强交互式选择工作流,为.NET MAUI与移动开发场景的改进打基础。

在Web框架方面,Blazor新增EnvironmentBoundary组件,用于根据宿主环境进行条件渲染,类似于MVC的环境标签辅助器,可在服务器与WebAssembly两种托管模式中提供一致的渲染方式。

在.NET MAUI方面,微软将XAML源生成设为默认,以提升构建时间、调试性能以及发布运行时性能,并称调试构建的应用行为将与发布构建更一致。此外,WPF(Windows Presentation Foundation)在Windows 10上针对Fluent窗口背景与底色问题进行了修复。

随着.NET 11首个预览版的发布,微软展示了其在跨平台开发领域的持续创新和技术推进。这些更新不仅为开发者提供了更高效的工具和框架,也预示着未来.NET技术生态的进一步发展。

推荐阅读  美国能源部投资3.2亿美元 推动AI“创世使命”