← 文章 / 编程开发
InfoQ 3小时前 · 2026-08-04 12:05:21 · 2 阅读

微软发布 .NET 11 Preview 6,带来语言和框架更新

在 7 月的更新中,微软发布 .NET 11 Preview 6。该版本改进了 C# 语言、ASP.NET Core、.NET MAUI 和 Entity Framework Core 。

在 C# 方面,扩展成员现在已经支持索引器,允许开发人员在扩展块中为现有类型添加 this[...] 访问方式。该功能完善了 .NET 10 中引入的扩展成员功能,该功能之前仅涵盖方法和属性。此次发布还进一步完善了联合类型(在 Preview 5 中首次出现)。

编译器支持类型现在已经随框架一同发布。因此,联合类型声明不需要手动编写样板代码即可通过编译,而且, System.Text.Json 会通过写入其活动案例(active case)来序列化联合类型。这两项功能目前均处于预览阶段,需要使用预览版的语言版本。

ASP.NET Core 新增了大量功能。现在,利用新增的 DataAnnotations 类型,Minimal API 验证为异步验证器提供了端到端支持;而使用 WebApplication.CreateBuilder 构建的应用程序会利用浏览器的 Sec-Fetch-Site 和 Origin 标头,自动拒绝不安全的跨源请求。该保护功能无需配置即可启用,并适用于 Minimal API、MVC、Razor Pages 和 Blazor。需注意的是,Blazor Web App 项目不再需要调用 app.UseAntiforgery()。

此外,Blazor 的 Virtualize 组件现在可以按需在选定项目处打开并滚动至任意项目,而且客户端的启动行为可以通过 C# 从服务器端进行配置,不需要使用 JavaScript。作为独立 WebAssembly 应用开发宿主的 Blazor Gateway,现在可以通过内置的 YARP 反向代理将调用转发至后端服务,从而不再需要进行 CORS 配置。

生成的 OpenAPI 文档默认面向 3.2 版本,联合类型可以在整个技术栈中作为请求正文和返回类型使用,而新增的 [ShortCircuit] 属性允许端点在路由后立即运行。SignalR 连接还可以在不中断的情况下刷新身份验证,客户端可以取消非流式 hub 调用。

[ApiController][Route("robots.txt")][ShortCircuit]public class RobotsController : ControllerBase{    [HttpGet]    public IActionResult Get() => Content("User-agent: *\nDisallow:", "text/plain");}...// SignalR 也是如此app.MapGet("/health", [ShortCircuit] () => "Healthy");
复制代码

关于跨平台开发和 .NET MAUI,新一代 CollectionView 已经登陆 Windows 平台,其处理程序基于 WinUI 的 ItemsRepeater 构建;而 Android 平台上的 Shell 则改用标准的 MAUI 处理程序重新实现,不再使用旧版的渲染器类。

重要提示:Microsoft.Maui.Controls.Compatibility 包不再进行构建或发布,这对直接引用该包的项目而言属于破坏性变更。HybridWebView 互操作性现在使用了一个源代码生成器,可以确保其在精简版和原生 AOT 应用程序中安全地运行;同时,Xcode 26.6 成为支持苹果工作负载的稳定版本。

此外,Entity Framework Core 将 FullJoin 运算符转换为 SQL FULL OUTER JOIN,允许键和索引遍历复杂类型的属性,并为没有数据库约束的关系引入了 IsConstrained API。Azure Cosmos DB 提供程序新增了索引配置选项,而 Microsoft.Data.Sqlite 现在依赖于 SQLite3 Multiple Ciphers 软件包,为应用程序提供了内置加密功能。

该版本的其他变更包括内存和文本流适配器、活动跟踪规则、跨通道向量操作、运行时异步性能优化、JIT 改进、进程内崩溃报告日志记录,以及更快的 NativeAOT 接口分发。

感兴趣的读者可以在 GitHub 上的 dotnet/core 存储库中查阅 .NET 11 Preview 6 的完整发布说明

原文链接:https://www.infoq.com/news/2026/07/dotnet-11-preview-6/

原始来源: InfoQ

评论 (0)