NET 11 Preview 4 正式发布:Runtime-Async 全面启用、Process API 大幅扩展
概览Preview 4 覆盖领域领域核心亮点Libraries类库Process 类大规模 API 扩展Span-based 压缩 API浮点数十六进制格式化Runtime运行时运行时库全面启用 Runtime-AsyncJIT 常量折叠优化支持 1024 CPUSDKdotnet watch设备选择Fish Shell 补全OpenTelemetry 遥测C# 语言Shebang 诊断改进VBCSCompiler 可选编译缓存ASP.NET CoreOpenAPI 支持 HTTP QUERYBlazor 电路暂停MCP Server 模板.NET MAUIdotnet watch支持 Android/iOS 热重载Entity Framework CoreSQL Server 2025 近似向量搜索JSON 映射集成到关系模型二、Libraries类库重大更新2.1 Process 类大规模 API 扩展本次更新中System.Diagnostics.Process获得了一组开箱即用的高级 API覆盖了进程启动、输出捕获、生命周期控制等常见场景大幅减少了手写进程调用代码的工作量。新增 API 一览API说明Process.Run/Process.RunAsync一键启动进程并获取结果Process.RunAndCaptureText/Process.RunAndCaptureTextAsync直接捕获 stdout 和 stderr 为文本Process.ReadAllText/Process.ReadAllBytes单调用读取子进程全部输出Process.ReadAllLinesAsync返回ProcessOutputLine结构区分 stdout 和 stderr以前用ProcessStartInfoRedirectStandardOutput 手动事件订阅的冗长写法现在可以简化为// 启动进程并直接获取输出文本 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新增基于SpanT的Deflate、ZLib、GZip编码器/解码器 API压缩解压操作无需分配中间字节数组对高吞吐和内存敏感场景如网络中间件、流处理管道有明显收益。2.3 浮点数十六进制格式化和解析新增对浮点数十六进制格式的支持例如0x1.921fb54442d18p1即 π 的 IEEE 754 十六进制表示。这在科学计算、二进制数据交换和精度敏感的场景中很实用。2.4 System.Text.Json 持续增强JSON 序列化/反序列化继续获得小幅改进保持与之前预览版的演进方向一致。2.5 其他重要更新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-asyncon编译。这意味着编译器不再为异步方法生成传统的异步状态机async state machine异步调用链依赖运行时异步原语直接调度预期带来吞吐量提升和库体积缩减的双重收益伴随这项变更运行时还引入了两个配套优化协变Task→TaskT重写当派生类方法返回TaskT而基类方法返回Task时运行时自动生成桥接 thunk不需要开发者手动适配。Crossgen2 内联 Runtime-async 方法预编译阶段即可对 runtime-async 方法进行内联优化减少调用开销。3.2 JIT 编译器优化常量折叠SequenceEqualJIT 能在编译时折叠常量字符串的SequenceEqual调用将运行时比较直接替换为编译期确定的结果硬件内联函数改进更好的 SIMD 代码生成ReadyToRun 改进预编译格式持续优化3.3 其他运行时变更支持 1024 CPU打破之前 64 核/CPU 组限制面向高端服务器和云原生超大实例Browser/WebAssembly CoreCLR 支持继续推进 CoreCLR 在 WebAssembly 上的实验性运行四、SDK 更新特性说明dotnet watch设备选择为 MAUI 和移动项目选择目标设备Android/iOS 模拟器或物理机Fish Shell 补全与 Bash、Zsh、PowerShell 对齐Fish 用户也能享受命令补全dotnet reference回退未显式指定项目文件时自动回退到当前目录的项目OpenTelemetry 遥测CLI 内部遥测从 Application Insights 迁移到 OpenTelemetry符合生态标准五、C# 语言更新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 增强特性说明[SupplyParameterFromTempData]从TempData字典向组件参数提供值简化跨页面状态传递服务器端电路暂停/恢复服务器可主动暂停 Blazor 电路连接客户端保持状态恢复时无缝继续Virtualize 组件改进上方内容变化时保持视口稳定新增AnchorMode控制滚动锚定行为更小的 WASM 发布输出Blazor WebAssembly 发布体积进一步优化电路暂停的示例场景服务器负载过高时暂时断开非活跃用户的 Blazor 连接释放资源用户切回页面时瞬间恢复——对大规模部署很有价值。6.3 MCP Server 模板.NET SDK 现在附带MCPModel Context Protocol服务器模板。MCP 是连接 AI 模型与外部数据/工具的标准协议这个模板让用 .NET 构建 AI 代理服务Agent Service的启动成本接近于零dotnet new mcp-server -o MyAgentService6.4 其他 ASP.NET Core 变更Kestrel TLS 握手可观测性TLS 握手事件进入 OpenTelemetry 链路追踪响应压缩始终发出Vary: Accept-Encoding修正缓存行为避免代理缓存损坏压缩响应文件结果类型出现在 OpenAPI 文档中FileStreamResult、FileContentResult等被正确描述端点过滤器可观察参数绑定失败参数绑定异常可被端点过滤器捕获和处理七、.NET MAUI 更新dotnet watch热重载Preview 4 正式为 Android 和 iOS 项目带来dotnet watch热重载支持。修改 XAML 或 C# 代码后变更会自动推送到运行中的模拟器或物理设备跨平台移动开发的工作流更贴近 Web 开发的即时反馈体验。八、Entity Framework Core 更新特性说明SQL Server 2025 近似向量搜索针对 SQL Server 2025 的向量类型EF Core 提供近似向量搜索Approximate Vector Search的 LINQ 映射JSON 映射集成到关系模型JSON 列映射不再是二等公民完全融入关系模型的查询、跟踪和迁移管道时态表周期属性映射时态表Temporal Table的PeriodStart/PeriodEnd列可显式映射到 CLR 属性dotnet ef默认配置dotnet ef命令现在从dotnet-ef.json读取默认配置减少命令行参数重复向量搜索的示例var results await context.Products .OrderBy(p p.Embedding.ApproximateDistance(queryVector)) .Take(10) .ToListAsync();九、如何开始

相关新闻

Riesz均值在拉普拉斯特征值优化与渐近分析中的应用

Riesz均值在拉普拉斯特征值优化与渐近分析中的应用

1. 从物理直觉到数学抽象:为什么我们要关心拉普拉斯特征值?如果你做过有限元分析,或者玩过图像处理里的边缘检测,那你一定对“拉普拉斯算子”不陌生。在物理上,它描述的是扩散、振动、热传导这些过程的“加速度”&…

2026/6/26 3:12:35阅读更多 →
Ubuntu 22.04/24.04离线安装IntelliJ IDEA终极方案(含JDK17+IDEA2024.1.3二进制包校验码与SHA256验证清单)

Ubuntu 22.04/24.04离线安装IntelliJ IDEA终极方案(含JDK17+IDEA2024.1.3二进制包校验码与SHA256验证清单)

更多请点击: https://kaifayun.com 第一章:Ubuntu离线安装IntelliJ IDEA的必要性与场景剖析 在企业级开发环境、高安全等级内网系统以及嵌入式设备调试等特定场景中,网络隔离是常态而非例外。此时,依赖在线包管理器(如…

2026/6/26 3:12:35阅读更多 →
Go语言的sync.RWMutex读写锁升级与降级在并发访问模式变化中的限制

Go语言的sync.RWMutex读写锁升级与降级在并发访问模式变化中的限制

Go语言中的sync.RWMutex是一种高效的读写锁机制,允许多个读操作并发执行,而写操作则需要独占访问。在实际应用中,读写锁的升级(从读锁到写锁)与降级(从写锁到读锁)却存在诸多限制,这…

2026/6/26 3:12:35阅读更多 →
前Zod作者新开源项目Nub:性能快、兼容性强,能否打破Node.js工具碎片化困局?

前Zod作者新开源项目Nub:性能快、兼容性强,能否打破Node.js工具碎片化困局?

前Zod作者推出Nub,发布一天登Hacker News首页前Zod作者、前Bun团队成员Colin McDonnell推出全新开源项目,发布仅一天即登上Hacker News首页,收获近2000 Star。不打算「杀死」任何东西的野心项目是什么?2026年6月24日,名…

2026/6/26 4:22:40阅读更多 →
马鞍山栈板工厂怎么选?看完这篇不纠结

马鞍山栈板工厂怎么选?看完这篇不纠结

在工业物流与仓储运输中,木托盘(或称栈板)是不可或缺的基础工具。马鞍山及周边地区制造业密集,选择合适的托盘供应商直接关系到物流效率与成本控制。面对市场上众多的工厂,如何避免踩坑、选到真正靠谱的合作伙伴&#…

2026/6/26 4:22:40阅读更多 →
2026流年运势批量推演怎么做?玄易AI命理软件测评

2026流年运势批量推演怎么做?玄易AI命理软件测评

2026流年运势批量推演怎么做?玄易AI命理软件测评很多人第一次接触命理软件,是为了查看个人运势;但真正用得多以后,会发现重复操作才是最消耗时间的部分。比如做流年运势批量推演时,用户往往要反复输入出生信息、切换年…

2026/6/26 4:22:40阅读更多 →
向量空间 JBoltAI TokUI 的定位与设计背景

向量空间 JBoltAI TokUI 的定位与设计背景

向量空间 JBoltAI 推出的 TokUI,是面向 AI 应用场景打造的流式 UI 描述与渲染框架,核心围绕大模型的文本输出特性,重构 UI 的描述、传输与渲染全链路。以下从产品定位与设计背景两个维度,对 TokUI 进行具体说明。一、TokUI 是什么…

2026/6/26 4:22:40阅读更多 →
托管式 Agent 成为主流方向

托管式 Agent 成为主流方向

AI Agent 正从技术概念快步走向生产应用。然而,当开发者试图将原型推向生产环境时往往发现:从"跑通 Demo"到"稳定上线",每一步都是对基础设施的真实考验。更聪明的模型解决不了这道鸿沟——企业真正需要的,是…

2026/6/26 4:22:40阅读更多 →
一句话生成漫剧、漫画、小说:AI全模态创作平台实测,创作效率提升10倍

一句话生成漫剧、漫画、小说:AI全模态创作平台实测,创作效率提升10倍

前言 上篇文章我拆解了一句话生成小说的全流程,很多读者留言问:能不能直接出漫画?能不能自动合成漫剧? 答案是:能。同一个平台,同一套工作流。 极栈创作平台(极栈创作平台 - JZCloud&#xf…

2026/6/26 4:17:40阅读更多 →
【人工智能】一文搞定到底什么是智能体

【人工智能】一文搞定到底什么是智能体

【人工智能】一文搞定到底什么是智能体 一文搞定到底什么是智能体【人工智能】一文搞定到底什么是智能体一. LM,WorkFlow,Agent分别有什么么不同二. Agent的思考过程是怎样的三. Agent的五个核心部分1)LLM2)Prompt3)Me…

2026/6/25 9:39:54阅读更多 →
嵌入式GUI控件实战:ROTARY、SCROLLBAR、SLIDER原理与应用

嵌入式GUI控件实战:ROTARY、SCROLLBAR、SLIDER原理与应用

1. 嵌入式GUI控件:从原理到实战的深度解析在嵌入式系统开发中,图形用户界面(GUI)的设计与实现往往是项目从“能用”到“好用”的关键一跃。不同于资源充沛的PC或移动平台,嵌入式设备的GUI需要在有限的CPU性能、内存空间…

2026/6/26 4:15:25阅读更多 →
Google AI Studio 300美元额度的真相与实战指南

Google AI Studio 300美元额度的真相与实战指南

1. 这300美金不是“送钱”,而是Google埋下的第一道技术门槛 你看到标题里那个醒目的“$300美金”时,第一反应可能是:又一个免费额度?领完就完事?我亲手试过——这300美金根本不是红包,而是一张入场券&…

2026/6/25 9:01:34阅读更多 →
HPE (慧与) 服务器专用 ESXi 9 全套官方定制资源详解 + 完整部署升级教程

HPE (慧与) 服务器专用 ESXi 9 全套官方定制资源详解 + 完整部署升级教程

一、前言:企业运维痛点与资源价值自博通收购 VMware 之后,原 VMware 公开免费下载渠道全面关闭,企业运维人员想要获取适配 HPE 慧与服务器的 ESXi 9 原厂镜像,必须注册博通账号、绑定有效授权才能下载,无授权账号无法获…

2026/6/26 0:02:15阅读更多 →
Kotlin的@JvmStatic与@JvmField:与Java互操作的注解

Kotlin的@JvmStatic与@JvmField:与Java互操作的注解

Kotlin作为一门现代编程语言,与Java的互操作性一直是其核心优势之一。为了让Kotlin代码能够无缝对接Java,Kotlin提供了多种注解来优化互操作体验,其中JvmStatic和JvmField是两个关键注解。它们分别用于解决静态成员和字段在Java中的访问问题&…

2026/6/26 0:02:15阅读更多 →
深入解析musl libc中的mmap实现源码

深入解析musl libc中的mmap实现源码

最近在阅读musl libc源码时,发现其mmap的实现非常精妙,特分享给大家。 一、代码整体结构 这段代码实现了__mmap函数,并通过weak_alias导出为mmap。这是典型的musl libc风格——提供弱符号以便用户可以重写。 weak_alias(__mmap, mmap); 二…

2026/6/26 0:02:15阅读更多 →