惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Forbes - Security
Forbes - Security
A
Arctic Wolf
M
MIT News - Artificial intelligence
T
Threat Research - Cisco Blogs
T
The Exploit Database - CXSecurity.com
C
CERT Recently Published Vulnerability Notes
NISL@THU
NISL@THU
L
Lohrmann on Cybersecurity
Martin Fowler
Martin Fowler
A
About on SuperTechFans
P
Palo Alto Networks Blog
Project Zero
Project Zero
The GitHub Blog
The GitHub Blog
WordPress大学
WordPress大学
Blog — PlanetScale
Blog — PlanetScale
博客园_首页
大猫的无限游戏
大猫的无限游戏
Cisco Talos Blog
Cisco Talos Blog
P
Proofpoint News Feed
D
DataBreaches.Net
Cyberwarzone
Cyberwarzone
T
Tor Project blog
IT之家
IT之家
P
Proofpoint News Feed
Help Net Security
Help Net Security
S
Securelist
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
C
CXSECURITY Database RSS Feed - CXSecurity.com
Microsoft Azure Blog
Microsoft Azure Blog
V2EX - 技术
V2EX - 技术
K
Kaspersky official blog
Hugging Face - Blog
Hugging Face - Blog
MongoDB | Blog
MongoDB | Blog
B
Blog
N
News and Events Feed by Topic
The Cloudflare Blog
S
Schneier on Security
P
Privacy & Cybersecurity Law Blog
T
The Blog of Author Tim Ferriss
Recorded Future
Recorded Future
Last Week in AI
Last Week in AI
The Last Watchdog
The Last Watchdog
Hacker News - Newest:
Hacker News - Newest: "LLM"
L
LangChain Blog
I
InfoQ
F
Full Disclosure
The Register - Security
The Register - Security
阮一峰的网络日志
阮一峰的网络日志
H
Hacker News: Front Page
V
V2EX

博客园_首页

Plist 二进制格式 Milvus 和 PGVector,哪个更好? OpenClaw 已过时?在 VS Code 中运行 Hermes Agent! 第30篇文章:一个大三计科生的自白 Manim如何在数学公式中完美显示中文? Docker 部署 RocketMQ 5 并发编程核心概念辨析 C#事务处理最佳实践:别再让“主表存了、明细丢了”的破事发生 CLI 是什么?为什么大厂突然集体卷命令行? 【从0到1构建一个ClaudeAgent】协作-自主Agent UIImageView 设置图片不生效的原因排查 最小二乘问题详解20:无先验约束下的增量式SFM自由网平差 痞子衡嵌入式:大话双核i.MXRT1180之XIP应用里借助MU实现可靠Flash IAP的方法 AI Chat 封装, SemanticKerne.AiProvider.Unified 已发布 Windows下右键编辑js文件无法打开记事本——在注册表中使用环境变量 在后台服务中使用 Scoped 服务,为什么总是报错? H200 安装驱动并使用sglang启动模型 wireshark 抓包Trap上报告警内容 我用 AI 辅助开发了一系列小工具(2):图片压缩工具 [A Primer On MC and CC] 2.1 Memory Consistency 1 - 指令重排序和 SC 模型 Oracle数据库SCN推进技术详解与实践指南 玩转控件:封装个带图片的Label控件 Claude Code 4.7 真正该升级的不是模型,而是你的工作流 前端小白一句话,AI 帮我做了个颜值拉满的桌面媒体播放器。当代码不再是门槛,一句话编程就是现实。 5. WorkBuddy: 小龙虾的灵魂三件套,让你的小龙虾不只是工具 SQLite 分片方案实战:三种分片策略的深度对比 告别简陋 UI!一款基于 Fluent Design 和基于 WinUI 的开源免费、现代化的 Avalonia UI 控件库 关于二进制排列组合枚举的总结 AI开发-python-LangGraph框架(3-27-LangGraph从零实现大模型智能决策工作流) ElasticSearch主分片和副本分片概念详解 【002】HTTPS 粗解:证书、TLS 握手与对后端配置的影响 Hermes Agent 一周暴涨五万 Star,但我劝你别急着追 明明连接的是Redis的DB0,为什么能查到DB3的数据? 【从0到1构建一个ClaudeAgent】协作-Agent团队 熟悉电子元器件之后,电子小白下一步该怎么走? MAF快速入门(23)通过C#类定义Skills .NET 高级开发 | 手写一个对象映射框架 FastAPI数据库ORM怎么选?我肝了三个Demo后,终于不再纠结了 mysqldump 参数拾遗:在遗忘与铭记之间 C# .NET 周刊|2026年3月5期 Claude code入门 - 陈彦斌 一文学习入门 ThingsBoard 开源物联网平台 GitHub 热门项目 | 2026年04月16日 如何为GIT设置全局勾子,为每次提交追加信息 Number.isFinite和isFinite与isNaN()和Number.isNaN的区别 PortSwigger SQL注入LAB2 推荐一个测试人必备的Skills,从功能到性能全搞定(附详细实操和安装下载方式) 筑基期:掌握Odoo基础核心知识点02(Odoo XML 开发方式详解) GLM模型这么火,咱们用vllm也咧一个呗! 深入理解 AbortController:从底层原理到跨语言设计哲学 字符串学习笔记 多租户系统框架的基础模块设计和分析设计 Apache SeaTunnel Zeta 为什么能做到“又快又稳”? AI开发-python-LangGraph框架(3-26-LangGraph基本概念及第一个简单样例) Vue 3 组件通信,别只会用 Props 和 Emits 了,这几个狠活儿你得看看 ElasticSearch7.X版本配置密码 用Manim实现动态交点计算--从一个动点问题说起 团结引擎+Addressable+Instant Game打包抖音小游戏 function call 实战:让 LLM 自动判断 pod 异常、调用日志工具并完成故障分析 bubseek —— 让 Agent 的足迹,变成团队的洞察 通过 C# 读取并导出 PDF 书签 如何用 GitHub Actions 实现 Steam 自动化发布 【从0到1构建一个ClaudeAgent】并发-后台任务 .NET 高级开发 | 定制 ASP.NET Core 框架 电子小白:什么是运算放大器(运放) zero2Agent:面向大厂面试的 Agent 工程教程,从概念到生产的完整学习路线 堆上的ORW HC32F460 USB CDC通信异常:非对齐访问异常排查 20260413-Hyperbridge 攻击事件:发生在默克尔山上的验证绕过 那些喊着AI 要淘汰你的人,正在靠你的焦虑赚大钱! 深度学习进阶(八)Swin Transformer 最小二乘问题详解19:带先验约束的增量式SFM优化与实现 SnapTranslate 3.0 正式发布:全局划词翻译 + 完整英语学习闭环,一站式搞定查词、记词、复习 工作的意义、工作的困难认知再思考 .NET + AI 进阶实战:基于类的技能开发 - 打造可治理的 Agent 能力模块 【从0到1构建一个ClaudeAgent】规划与协调-技能 上周热点回顾(4.6-4.12) 电子小白的工具三件套:面包板、杜邦线、万能板 单表五亿数据的查询优化 | Mysql、StarRocks 2. WorkBuddy:从“我是谁”到“帮我干活” C# 如何减少代码运行时间:7 个实战技巧 基于HelixToolkit.SharpDX 渲染3D模型 - 笺上知微 从零开始的双臂具身VLA起源及现阶段发展综述 - SkyXZ 记对 xonsh shell 的使用, 脚本编写, 迁移及调优 - pluvium27 受够了Vibe Coding的失控?换个起点,让AI事半功倍 从开始配置漏洞环境到漏洞复现流程 - 難しい 关于10年工作经验的程序员对OpenClaw的实战经验分享以及看法 - 虚无境 Any metadata 的内存布局 C# .NET 周刊|2026年3月2期 - InCerry 我帮你测过了,测试圈排名第二的 Skill 依然很牛逼 Skill Discovery | 无监督技能发现的经典工作总结 - MoonOut 上下文工程是什么?过时了么?一文讲明白! - 一枫说码 开了 TUN 模式还是直连?90% 的人都踩过这个坑 AScript扩展多种脚本语言 - rockey627 AI 学习笔记:Agent 的记忆机制 你能被装进一个文件里吗?——7 万人把同事"蒸馏"成了 AI - 我没有三颗心脏 Claude Code 通关手册(七):给 AI 装上技能包——Skills 完全指南 - 暮色之狐 在浏览器中快速编辑代码:VSCode Web 集成实践 - Newbe36524 蒸馏自己 skill?基于 Deepseek 的蒸馏器,丐版蒸馏方式,简单便捷 - To_Carpe_Diem Spring AI Aliababa和AgentScope,哪个更好? - 苏三说技术
.NET 11 Preview 4 正式发布:Runtime-Async 全面启用、Process API 大幅扩展
张善友 · 2026-05-13 · via 博客园_首页

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

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


一、概览:Preview 4 覆盖领域

领域 核心亮点
Libraries(类库) Process 类大规模 API 扩展;Span-based 压缩 API;浮点数十六进制格式化
Runtime(运行时) 运行时库全面启用 Runtime-Async;JIT 常量折叠优化;支持 1024+ CPU
SDK dotnet watch 设备选择;Fish Shell 补全;OpenTelemetry 遥测
C# 语言 Shebang 诊断改进;VBCSCompiler 可选编译缓存
ASP.NET Core OpenAPI 支持 HTTP QUERY;Blazor 电路暂停;MCP Server 模板
.NET MAUI dotnet watch 支持 Android/iOS 热重载
Entity Framework Core SQL 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

以前用 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>DeflateZLibGZip 编码器/解码器 API,压缩解压操作无需分配中间字节数组,对高吞吐和内存敏感场景(如网络中间件、流处理管道)有明显收益。

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

新增对浮点数十六进制格式的支持,例如 0x1.921fb54442d18p+1(即 π 的 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-async=on 编译。这意味着:

  • 编译器不再为异步方法生成传统的异步状态机(async state machine)
  • 异步调用链依赖运行时异步原语直接调度
  • 预期带来吞吐量提升库体积缩减的双重收益

伴随这项变更,运行时还引入了两个配套优化:

协变 TaskTask<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 上的实验性运行

四、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 现在附带 MCP(Model Context Protocol)服务器模板。MCP 是连接 AI 模型与外部数据/工具的标准协议,这个模板让用 .NET 构建 AI 代理服务(Agent Service)的启动成本接近于零:

dotnet new mcp-server -o MyAgentService

6.4 其他 ASP.NET Core 变更

  • Kestrel TLS 握手可观测性:TLS 握手事件进入 OpenTelemetry 链路追踪
  • 响应压缩始终发出 Vary: Accept-Encoding:修正缓存行为,避免代理缓存损坏压缩响应
  • 文件结果类型出现在 OpenAPI 文档中FileStreamResultFileContentResult 等被正确描述
  • 端点过滤器可观察参数绑定失败:参数绑定异常可被端点过滤器捕获和处理

七、.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();

九、如何开始

下载并安装 .NET 11 Preview 4 SDK:

在终端中验证安装:

dotnet --version
# 输出类似 11.0.100-preview.4.xxxxx

十、总结

.NET 11 Preview 4 是一次覆盖面广、深度够足的更新。几个最值得关注的信号:

  1. Runtime-Async 全面启用标志着 .NET 异步编程模型进入新阶段——从编译器生成状态机转向运行时原生调度,吞吐和体积收益将在后续预览版中逐步显现。
  2. Process API 扩展是系统编程(system programming)在 .NET 中的一次重要补位,让脚本式进程调用成为可能。
  3. ASP.NET Core 在 OpenAPI、Blazor 基础设施和 MCP AI 集成三个方向同步推进,继续保持 Web/AI 开发平台的优势。
  4. EF Core 的向量搜索MAUI 的热重载则分别在数据层和移动端改善了开发体验。

随着 .NET 11 逐步接近正式版(预计 2026 年 11 月),Preview 4 已经展现出相当成熟的技术方向。建议开发者在自己的场景中有针对性地试用,尤其是 Runtime-Async 和 Process API 这两个变化点,值得提前评估对现有代码的影响。


本文基于 .NET Blog 官方发布说明整理。原文及详细变更日志请参阅: