产品派
返回

微软发布.NET 11 RC1:C# 15与F# 11转为默认版本

后端InfoQ 中文站2026/9/20 10:01:12
AI 导读

微软发布了.NET 11 Release Candidate 1,这是该版本开发周期中的首个候选版本,并提供Go-Live支持许可,团队可将其部署到生产环境。RC1获得Visual Studio 2026 Insiders支持,也能在安装C# Dev Kit的Visual Studio Code中使用。

面向.NET 11的项目默认采用C# 15,集合表达式参数、联合类型、非虚静态接口成员、封闭类层次结构、带标签的break和continue、扩展索引器等功能由预览转为稳定。联合类型不再需要开启预览语言选项,Roslyn采用最终的CSharp15名称,并新增向分析器公开各分支的API;Unsafe Evolution仍属预览功能,但已可在unsafe上下文中使用await。

F# 11也成为默认语言版本,记录展开和直接构造委托正式稳定。字符串插值将编译为String.Concat,不再依赖基于反射的printf引擎,从而更适配裁剪和Native AOT;记录与联合类型新增无反射ToString输出,同时支持inheritdoc、include文档标签,并加入Async.RunSynchronouslyImmediate函数。

SDK方面,dotnet test可运行面向Android、iOS、macOS和Mac Catalyst的测试项目,并提供对应模板。运行级参数支持设置超时、达到指定失败次数后停止,以及为每个测试应用单独分配结果目录。设置SOURCE_DATE_EPOCH后,容器发布可在不同构建中生成相同摘要,目标注册表已有镜像清单时还会跳过上传。

ASP.NET Core完成SignalR服务端、.NET客户端及TypeScript客户端的身份验证刷新API,Blazor Server会话无需重新连接即可使用更新后的身份信息。OpenAPI文档会标记过时操作、类型和属性,验证消息本地化改用资源名称约定;Device Bound Session Credentials仍处于实验阶段,整个.NET 11周期都将保持预发布状态。

.NET MAUI将dotnet test扩展到移动端和桌面端目标,TabbedPage支持角标,并增加明确的SwipeItem颜色、适配主题的启动画面,以及更快且体积更小的Android构建。社区普遍认为迁移现有代码只需安装SDK并少量调整项目文件,Go-Live许可也足以支持容器上线;但联合类型受到批评,原因是System.Text.Json无法完成包含类型判别信息的序列化往返。微软.NET团队回应称,公告比较的是相邻预览版变化,而非.NET 10差异。其他更新还包括dotnet format支持基于文件的程序、Negotiate支持TLS通道绑定,以及Blazor浏览器选项名称定稿,完整说明可在相关GitHub仓库查阅。

.NETC#F#开发工具

本文基于公开渠道信息整理,内容可能存在不准确或遗漏之处,不代表本站立场,如内容涉及侵权或错误,请联系我们处理。

阅读原文