开发者生态
morning
.NET11第五个预览版:带来基于File的App改进、新C#特性与Blazor校验抖动效果
2026-06-27
1 阅读
作者:Almir Vuk
微软发布了.NET11第五个预览版”,对运行时、SDK、类库、ASP.NET Core、.NET MAUI、C#和Entity Framework Core都做了更新。.NET SDK在基于文件的App方面获得了相关改进。根据发布说明,开发者现在可以使用新的#:ref指令“跨文件拆分代码,该指令可以将另一个基于File的App作为库引用,而需要先创建项目。更多的命令行工具(包括package和NuGet命令)现在已经能够识别基于File的App路径。SDK还打了模型上下文协议(Model Context Protocol)”因此服务器模板,dotnet new mcpserver占用额外包即可选择运行。另外,项目可以开启检查,当已经安装的SDK存在已知漏洞或已到生命周期末期时会发出警告。面向net11.0的控制台与worker应用在启用隐式使用时会自动包含System.Net.Http.Json。C#语言“带来了三项重要的新增功能(至此预览版)。封闭类只能在同一程序集内部被派生,指出文档这使编译器能够验证开关表达式是否覆盖了所有分支。公共封闭记录类门状态;公共记录类 Closed : GateState;公共记录类 Open(float Percent) : GateState; static stringDescribe(GateStatestate) => 状态开关 { Closed => "close", Open(var%) => $"{percent}% open" }; 新的联合声明“可以创建一个值类型,该类型在一组固定的案例类型之间取其中一个,并支持模式匹配。关于不安全进化”的工作仍然继续,它允许指针类型出现在非不安全上下文之外,同时允许非托管内存读取的危险边界保留在执行操作处。 int value = 42; int* 指针 = &value;不安全 { System.Console.WriteLine(*pointer);其次,ASP.NET Core“在Blazor方面有大量改进。服务端渲染表单现在支持即时的客户端验证”,消耗服务端往返,并且表单已支持异步验证规则(比如,数据库)。验证信息与属性名可以进行本地化。QuickGrid“的排序与分页在静态渲染页面上均可用,独立的Blazor WebAssembly应用也添加了名为网关”的开发服务器,内置SPA回退路由。 “收到了大范围的修复补丁,根据源信息修复了CollectionView、Shell、Label等控件的实际问题。动画方法”新增了对CancellationToken-aware的重载。一些控件也得到了更新,BoxView添加了Fill属性,Windows Map控件现在有了由Azure Maps支持的真实实现。最低的Android版本升级到了API 24,Essentials.AI中加入了Apple Intelligence API。Entity Framework Core“在dotnet ef工具中为基于File的App提供了支持,并添加了用于存储默认选项的配置文件。有一个名为EF 1004新的分析器警告,它会标记那些会同步运行的异步查询。SQL Server 2022默认兼容性就是支持的,C#文件使用范围的命名空间。本次发布的其他这一点包括更严格的容器镜像认证校验、CLI的原生AOT模式、EF Core中更整洁的SQL查询翻译,以及在LLM环境中运行dotnet测试时取消ANSI输出。感兴趣的读者可以查看GitHub上的完整发行说明“与dotnet/core仓库”详情。查看英文原文:.NET 11 Preview 5:带来基于文件的应用程序改进、新的C#功能和Blazor验证浪潮“