AI宝库

AI宝库首页 › AI 资讯 › .NET 11 第 2 个候选版本发布,带来生产环境部署许可以及针对库、F#、M

.NET 11 第 2 个候选版本发布,带来生产环境部署许可以及针对库、F#、MAUI 和 WinForms 的更新

来源:InfoQ中文 · 发布时间:10-30 · 由 AI宝库每小时自动聚合

本条资讯的摘要暂未整理出来,可点击下方按钮查看原文;本站每小时自动补充中文摘要。

微软发布 .NET 11 的第 2 个候选版本。如公告所述,该版本附带可用于生产环境部署的许可。Visual Studio 2026 Insiders 以及安装了 C# 开发工具包(Dev Kit)的 Visual Studio Code 都支持这一构建。据报道,该版本对库、运行时、SDK、NuGet、F#、ASP.NET Core、.NET MAUI 和 Windows Forms 进行了多项更新,不过并未引入新的 C# 语言特性。

在库方面,CborReader 现在可以通过 isFinalBlock 和 SlideData 读取分块传输的有效载荷,但仅限于宽松一致性模式。新增了两种实验性加密类型:CompositeMLKem 结合了后量子与经典密钥封装机制,而 Hpke 则提供仅基于经典 DHKEM 套件的混合公钥加密。

如发布说明所述,这两项功能都需要通过 SYSLIB5009 和 SYSLIB5006 进行启用。ValidationAttribute.FormatMessage 允许主机提供一个消息模板用于填充属性,而 SocketsHttpHandler.InitialHttp2MaxConcurrentStreams 则会在新建立的 HTTP/2 连接上限制并发流的数量,直到服务器的 SETTINGS 帧到达为止。

该运行时版本侧重于可靠性,但包含一项破坏性变更。在 iOS 和 tvOS 上,CoreCLR 现在默认禁用建议性文件锁定,因为如前所述,RC 1 中的 FileStream 锁定可能会导致操作系统终止进入后台的应用程序。根据发布说明,FileShare 限制在这些平台上不再强制执行,将 DOTNET_SYSTEM_IO_DISABLEFILELOCKING 设置为 0 可以恢复锁定功能。

虽然 ASP.NET Core 的新增功能不多,不过对于从 RC 1 升级的应用程序来说有几处变更。QuickGrid 的 AnchorMode 和 ItemComparer 参数已经不再属于实验性功能。IValidationMessageFormatter 已经被移除,取而代之的是 FormatMessage;Blazor BasePath 组件已经移至 Microsoft.AspNetCore.Components 命名空间;而实验性的设备绑定会话包已经从该版本中移除。正如先前的报道所言,保留下来的 AddRazorRuntimeCompilation 重载方法现在会触发 ASPDEPR003 警告。

在 SDK 中,基于文件的程序在 #:property 指令中接受带引号的值,而 #:package、#:project 和 #:ref 指令接受以 Name=Value 形式结尾的项目元数据。在项目评估过程中,MSBuild 实现了更快的通配符匹配,根据微软的 Windows 基准测试报告,其速度提高了 10–13%,同时内存占用减少了 16–34%。

NuGet 在 dotnet nuget add source 和 update source 命令中新增了 --min-publish-age-hours 选项;当包冷却期导致没有符合条件的浮动版本时,restore 操作会因 NU1020 错误而失败。

F# 包含若干预览功能。编译器新增了 return 和 await 两个内置函数,用于基于运行时异步模型构建自定义计算表达式生成器,但如说明中所述,FSharp.Core 目前尚未提供此类生成器。

let calculation () =runtimeTask {let captured = 40let! delta = delayed 2return captured + delta}

reraise() 现在已经可以在 async 和 task 表达式的 with 处理程序内使用。在非预览版中,更多的 List 和 Array 函数通过回调内联来减少内存分配,Async.parallelLimit 用于限制并发任务数量,而且,对非整型枚举进行位运算现在会在编译时因 FS0001 错误而失败。

.NET MAUI 的 maui 模板新增了一个 --ui csharp 选项。它会使用 C# 而非 XAML 生成应用程序、shell 和主页面;多项目模板则新增了一个 --avalonia 选项,用于创建 Avalonia 桌面项目。

MauiIcon 支持 Apple Icon Composer 的 .icon 包,而 UseiOSShellHandler 可以在 Apple 平台上启用基于处理程序的 Shell。Android 新增对 API 37.2 绑定和 JDK 25 的支持,而 Apple 工作负载现在需要 Xcode 27.0。而且,正如破坏性变更说明中所述,使用其 SDK 构建的应用程序必须采用 UIKit 场景生命周期。

Windows Forms 优化了 .NET 11 的视觉样式。Application.SetDefaultVisualStylesMode 用于选择渲染器版本,但目前,即使在 .NET 11 环境下,ToolStrip 和 DataGridView 仍然保持着经典渲染模式。Application.SystemVisualSettings 提供了 Windows 主题色、文本缩放和高对比度状态的系统视觉设置快照,而 FormRevealMode 会延迟顶级表单的首次显示,从而减少背景闪烁。

新增的分析器 WFO3000 至 WFO3002 会标记出无法通过 Designer 完成往返处理的代码。根据发布说明,当 AI 工具生成或重构表单时,这项功能尤为有用。

该版本的其他变更包括:在启动配置参数中支持 MSBuild 属性展开、新增 F# RequireNamedArgumentsAttribute 属性、Android 平台上默认的私有成员 R8 混淆模式、Windows Forms 中的 SuspendPainting 和 KioskModeManager 类,以及 EF Core SaveChanges 和 JSON 投影的修复。

在 Reddit 上,讨论的重点不在于功能,而在于升级频率。有评论者询问,还有多少团队会跳过奇数版本。也有人回复称,自 .NET 9 起,标准版(Standard)的终止支持日期与上一个长期支持(LTS)版本相同,因此,迁移到 .NET 11 在支持周期方面不会有什么损失。

还有开发者反映,在每次预览版升级后,MAUI 工作负载都会出现故障;有人质疑,与 Razor Pages 及 MVC 相比,Blazor 的服务器端渲染性能;也有人对面向 Windows Forms 的 KioskModeManager 组件表示欢迎。

感兴趣的读者和开发者可以在 GitHub 上的 dotnet/core 仓库中查阅 .NET 11 RC 2 的完整发布说明。

本文由 AI宝库自动抓取并翻译,版权归原作者所有;如需查看原文请点下方链接。

相关 AI 工具

相关免费羊毛

同源资讯

阅读原文(infoq.cn)

标题、摘要与正文均来自该信源的公开页面,版权归原作者所有;本站自动聚合与翻译,仅作出处跳转。

← 返回 AI 资讯列表AI工具图鉴首页

返回 AI宝库首页 · 提交工具 · 商务合作 · 关于本站 · 599 款 AI 工具分类导航 · 每日 AI 热门项目与动态