首页 时政热点 科技头条 智能AI 安全攻防 数码硬件 开发者生态 汽车 游戏 社会热点 开源推荐 医疗健康 归档 标签 关于

.NET 11 RC1 来了:C# 15 转正,联合类型却引发争议

摘要

微软发布 .NET 11 RC1:支持生产环境使用,C# 15 和 F# 11 成为默认语言版本。 上周,微软发布了 .NET 11 Release Candidate 1 ",这是 .NET 11 开发周期的首个候选发布版本。该版本附带 Go-Live 支持许可,因此团队可以将其用于生产应用。公告指出,.NET 11 RC1 受到新版 Visual Studio 2026 Insiders " ...

NET RC1 SDK dotnet API MAUI Live Visual Studio 2026
2026-09-20 1 阅读 约6分钟阅读 作者:Almir Vuk
分享:
字号:
微软发布 .NET 11 RC1:支持生产环境使用,C# 15 和 F# 11 成为默认语言版本。 上周,微软发布了 .NET 11 Release Candidate 1 ",这是 .NET 11 开发周期的首个候选发布版本。该版本附带 Go-Live 支持许可,因此团队可以将其用于生产应用。公告指出,.NET 11 RC1 受到新版 Visual Studio 2026 Insiders " 支持,也可在安装 C# Dev Kit 的 Visual Studio Code 中使用。 对于以 .NET 11 为目标的项目,RC1 将 C# 15 设为 默认语言版本 "。根据 C# 发行说明,该版本将预览周期中加入的功能转为稳定版,包括集合表达式参数、联合类型、非虚静态接口成员、封闭类层次结构、带标签的 break 和 continue,以及扩展索引器。 联合类型不再需要启用预览语言设置。Roslyn 现在使用最终确定的 CSharp15 名称,另有一个新 API 可向分析器公开联合类型的各个分支。 Unsafe Evolution " 仍是需要单独启用标志的预览功能;RC1 允许在 unsafe 上下文中使用 await。 F# 11 " 也成为默认语言版本。 记录展开 "和直接构造委托已转为稳定功能。 字符串插值 "现在会编译为 String.Concat,而不是基于反射的 printf 引擎。F# 发行说明称,这使它能够与裁剪和 Native AOT 配合使用。该版本还为记录和联合类型增加了无需反射的 ToString 输出,支持 inheritdoc 和 include 文档标签,并新增 Async.RunSynchronouslyImmediate 函数 "。 在 SDK 中, dotnet test " 现在可以运行以 Android、iOS、macOS 和 Mac Catalyst 为目标的测试项目,并为各平台提供新的项目模板。新的 运行级选项 "可设置超时时间、在失败达到指定次数后停止运行,并为每个测试应用分配独立的结果目录。 据 SDK 发行说明介绍,设置 SOURCE_DATE_EPOCH 后, 容器发布 "可以在不同构建中生成具有相同摘要的镜像;如果目标注册表中已存在镜像清单,它还会跳过上传。 ASP.NET Core 最终确定了服务器端和 .NET 客户端的 SignalR 身份验证 刷新 API ",并为 TypeScript 客户端 "增加了同样的支持。Blazor Server 会话 "现在无需重新连接,就能采用刷新后的身份信息。 OpenAPI " 文档会将已过时的操作、类型和属性标记为弃用; 验证消息本地化 "则从预览 API 转向资源名称约定。该版本指出,Device Bound Session Credentials 软件包仍处于实验阶段,并将在整个 .NET 11 周期内保持预发布状态。 .NET MAUI 将 dotnet test " 扩展至移动端和桌面端目标,同时为 TabbedPage " 增加角标,并加入显式的 SwipeItem 颜色、 适配主题的 "启动画面,以及 MAUI 发行说明所描述的更快、体积更小的 Android 构建 "。 Reddit 讨论中的社区反应大多着眼于实际使用。多名开发者表示,将现有代码库迁移到 .NET 11,只需安装 SDK 并对项目文件做少量修改。一位评论者称,Go-Live 许可已足以让他们将容器投入生产环境。 另一位评论者表示,封闭类层次结构是他们离开长期支持版本路线的原因。主要批评集中在联合类型上:多名评论者指出,联合类型无法通过 System.Text.Json 完成序列化与反序列化的往返处理,因为序列化输出不包含类型判别字段。微软 .NET 团队的 Jon Galloway 在讨论中回复称,发布文章列出的是相对于上一个预览版的变化,而不是相对于 .NET 10 的变化。 该版本的其他变化包括:dotnet format 支持 基于文件的程序 "、Negotiate 身份验证支持 TLS 通道绑定 ",以及 最终确定了 Blazor 浏览器选项的名称 "。 感兴趣的读者可以在 GitHub 仓库中查看 SDK "、 C# "、 F# "、 ASP.NET Core " 和 .NET MAUI " 的完整发行说明。 原文链接: https://www.infoq.com/news/2026/09/dotnet-11-rc-1-release/ "
这篇文章对您有帮助吗?

订阅66必读

每日精选科技资讯,直达你的邮箱