
上周,微软发布了 .NET 10 候选版第一版,这是最终版发布前的两个候选版本中的第一个。据 .NET 团队声明,该版本提供生产环境使用许可,允许开发者在正式支持的生产环境中使用。该版本与 Visual Studio 2026 Insiders 同步提供,并可通过 C# Dev Kit 在 Visual Studio Code 中使用。
功能方面,ASP.NET Core 为 Blazor 增强导航引入了持久化组件状态支持。组件现在可以保留和检索先前存储的状态,从而提升应用性能并保持用户进度。开发者可通过配置 [PersistentState] 特性来控制状态恢复的时间与方式,包括是否选择在预渲染或重新连接期间跳过恢复等。
此外,ASP.NET Core Identity 现已在 Microsoft.AspNetCore.Identity 计量器下提供一组内置指标。这些指标包括用户创建和登录操作的耗时追踪,以及令牌生成和双重认证事件的计数器。据称,新增的遥测数据是为增强生产环境中的可观测性与故障排查能力。
在 Minimal API 和 Blazor 中都有验证功能方面的改进。现已支持类型级验证,允许将特性应用于类和记录中。新特性 [SkipValidation] 让开发者能够选择不进行特定属性或某个类型的验证。此外,标记了 [JsonIgnore] 的属性也会被排除在验证之外,确保了模型序列化与验证行为的一致性。
OpenAPI 架构生成在多个方面也有了改进。可为空的复杂类型现使用 oneOf 结构进行建模,提升了与 OpenAPI 3.1 规范的兼容性。据 ASP.NET Core 团队透露,架构引用处理及 $ref 旁属性描述的包含机制也已优化。社区贡献扩展了对 [AsParameters] 类型中 XML 注释元数据的支持,并为 JSON Patch 操作添加了准确的媒体类型。未知 HTTP 方法现已被排除在架构生成之外。
在 .NET MAUI 方面,团队在 Microsoft.Maui 源下新增了故障判断仪器功能。跟据其发布说明,Measure() 和 Arrange() 等布局方法现在会生成指标和活动追踪,从而实现更佳的性能分析。HybridWebView 中的新事件允许开发者嵌入浏览器视图的生命周期。RefreshView 控件还新增了 IsRefreshEnabled 属性,确保了跨平台行为的一致性。

(.NET Aspire:为 .NET MAUI 应用提供全面问题分析与指标追踪方案。来源:Microsoft GitHub 仓库)
在 Android 开发方面,新版本现提供在 CoreCLR 运行时(而非 Mono)上运行应用的实验性支持。开发者可通过在项目配置中将 UseMonoRuntime 设置为 false 来启用此功能。微软提醒该功能尚未达到生产就绪状态,可能导致二进制文件体积增大或故障判断功能受限。
Windows Forms 现已完全支持深色模式,无需再启用实验性标志即可使用。ControlStyles 中的 ApplyThemingImplicitly 选项可对主题进行切换。ShowAsync 和 ShowDialogAsync 等异步方法已结束实验状态,其分配性能和多窗口状态管理均得到改进。
Entity Framework Core 10 同样带来显著改进。经微软确认,SQL Server 现已支持新型 vector 数据类型及 VECTOR_DISTANCE() 函数,用于基于向量的相似性搜索。JSON 的列支持已完全集成,开发者可以将数组和嵌套对象直接映射到数据库中。Cosmos DB 的功能扩展至包含全文的检索与混合搜索能力,结合关键词与向量相似性实现更灵活的查询。
此外,复杂类型的支持也得到增强,开发者可选择将嵌套对象映射为 JSON 或独立列。新版本还引入了参数化集合填充功能,针对大型输入集合优化生成的 SQL 语句。
感兴趣的读者可在官方的.NET 10 RC1 发布说明中查看完整技术文档、示例及变更日志。
原文链接:
https://www.infoq.com/news/2025/09/dotnet-10-release-candidate/
评论