魅力程序猿

  • 首页
  • Java
  • Android
  • APP
    • 扑克计分器
    • Video Wallpaper
  • 联系我
  • 关于我
  • 资助
道子
向阳而生
  1. 首页
  2. AI技术
  3. 正文

.NET 11 Preview 4 正式发布:Runtime-Async 全面启用、Process API 大幅扩展

2026年5月13日 11点热度 0人点赞 0条评论

📰 来源: 博客园


微软于 2026 年 5 月 12 日发布了 .NET 11 的第四个预览版(Preview 4)。这个版本延续了 .NET 11 系列的高频迭代节奏,在运行时异步模型、进程管理 API、ASP.NET Core 的 AI 集成以及 EF Core 的向量搜索等多个方向上都带来了实质性进展。

本文按领域梳理了本次预览版的核心变更,帮助开发者快速定位自己关心的改进点。

一、概览:Preview 4 覆盖领域

二、Libraries:类库重大更新

2.1 Process 类大规模 API 扩展

本次更新中,System.Diagnostics.Process 获得了一组开箱即用的高级 API,覆盖了进程启动、输出捕获、生命周期控制等常见场景,大幅减少了手写进程调用代码的工作量。

以前用 ProcessStartInfo + RedirectStandardOutput + 手动事件订阅的冗长写法,现在可以简化为:

// 启动进程并直接获取输出文本
var result = await Process.RunAndCaptureTextAsync("git", "log --oneline -5");
Console.WriteLine(result.StandardOutput);

// 逐行读取,自动区分 stdout / stderr
await foreach (var line in Process.ReadAllLinesAsync("dotnet", "build"))
{
    var prefix = line.IsError ? "[ERR]" : "[OUT]";
    Console.WriteLine($"{prefix} {line.Content}");
}

2.2 Span-based 压缩/解压 API

新增基于 Span<T> 的 Deflate、ZLib、GZip 编码器/解码器 API,压缩解压操作无需分配中间字节数组,对高吞吐和内存敏感场景(如网络中间件、流处理管道)有明显收益。

2.3 浮点数十六进制格式化和解析

新增对浮点数十六进制格式的支持,例如 0x1.921fb54442d18p+1(即 π 的 IEEE 754 十六进制表示)。这在科学计算、二进制数据交换和精度敏感的场景中很实用。

2.4 System.Text.Json 持续增强

JSON 序列化/反序列化继续获得小幅改进,保持与之前预览版的演进方向一致。

  • UTF 验证与无效子序列搜索:更细粒度的 UTF 文本处理原语
  • 限流修复:RetryAfter 语义修复、小数 permit 支持、ChainedRateLimiter 改进
  • 正则表达式:源生成器和引擎层面的 bug 修复
  • 配置绑定与文件提供程序:稳定性和性能改进
  • MemoryCache 内置 OpenTelemetry 指标:缓存命中率、驱逐次数等可观测
  • 可区分联合脚手架:System.Runtime.CompilerServices 命名空间下新增联合类型生成支持
  • TarReader 支持 GNU sparse format 1.0:处理稀疏 tar 归档文件
  • TLS 握手加固:Linux 平台证书验证警报增强
  • HTTP/2 自动降级:支持 Windows 认证场景下的协议降级
  • 三、Runtime:运行时核心改进

    3.1 Runtime-Async 全面启用(最重要变更)

    .NET 11 Preview 4 的标志性变更:所有运行时库现在使用 runtime-async=on 编译。这意味着:

  • 编译器不再为异步方法生成传统的异步状态机(async state machine)
  • 异步调用链依赖运行时异步原语直接调度
  • 预期带来吞吐量提升和库体积缩减的双重收益
  • 伴随这项变更,运行时还引入了两个配套优化:

    协变 Task → Task<T> 重写:当派生类方法返回 Task<T> 而基类方法返回 Task 时,运行时自动生成桥接 thunk,不需要开发者手动适配。

    Crossgen2 内联 Runtime-async 方法:预编译阶段即可对 runtime-async 方法进行内联优化,减少调用开销。

    3.2 JIT 编译器优化

  • 常量折叠 SequenceEqual:JIT 能在编译时折叠常量字符串的 SequenceEqual 调用,将运行时比较直接替换为编译期确定的结果
  • 硬件内联函数改进:更好的 SIMD 代码生成
  • ReadyToRun 改进:预编译格式持续优化
  • 3.3 其他运行时变更

  • 支持 1024+ CPU:打破之前 64 核/CPU 组限制,面向高端服务器和云原生超大实例
  • Browser/WebAssembly CoreCLR 支持:继续推进 CoreCLR 在 WebAssembly 上的实验性运行
  • Shebang 诊断更清晰:在脚本文件顶部使用 #!/usr/bin/env dotnet 等 shebang 时,编译器提供更精确的诊断信息
  • VBCSCompiler 可选编译缓存:为编译服务器(VBCSCompiler)启用可选的编译缓存,重复编译场景可节省增量时间
  • 六、ASP.NET Core 更新

    6.1 OpenAPI 支持 HTTP QUERY 方法

    OpenAPI 文档生成器现在将 HTTP QUERY 识别为已知操作类型。QUERY 是一种安全的幂等方法,允许在请求体中发送查询条件(替代长 URL 查询字符串),OpenAPI 规范层面的支持让 API 文档能正确描述这类端点。

    6.2 Blazor 增强

    电路暂停的示例场景:服务器负载过高时,暂时断开非活跃用户的 Blazor 连接,释放资源,用户切回页面时瞬间恢复——对大规模部署很有价值。

    6.3 MCP Server


    🔗 原文链接: 点击阅读原文

    标签: AI 人工智能 技术博客
    最后更新:2026年5月13日

    daozi

    这个人很懒,什么都没留下

    点赞
    < 上一篇

    文章评论

    razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
    取消回复
    搜索
    联系方式

    QQ群:179730949
    QQ群:114559024
    欢迎您加入Android大家庭
    本人QQ:136049925

    赐我一丝安慰
    给我一点鼓励

    COPYRIGHT © 2023 魅力程序猿. ALL RIGHTS RESERVED.

    Theme Kratos Made By Seaton Jiang

    豫ICP备15000477号