.NET 6 中的中断性变更

如果要将应用迁移到 .NET 6,则此处列出的中断性变更可能会影响到你。 变更按技术领域分组,例如 ASP.NET Core 或 Windows 窗体。

备注

本文是当前正在进行的工作。 这并不是 .NET 6 中的中断性变更的完整列表。 若要查询仍处于待发布状态的中断性变更,请查看 .NET 问题

ASP.NET Core

标题 引入的预览版
AddDataAnnotationsValidation 方法已过时
从 Microsoft.AspNetCore.App 共享框架中删除了程序集
Blazor:RequestImageFileAsync 方法中的参数名称已更改 预览版 1
Blazor:已替换 WebEventDescriptor.EventArgsType 属性
Blazor:字节数组互操作 预览版 6
更改了 @microsoft/signalr-protocol-msgpack 中的 MessagePack 库
ClientCertificate 属性不会对 HttpSys 触发重新协商
Kestrel:日志消息属性已更改
Microsoft.AspNetCore.Http.Features 拆分
中间件:HTTPS 重定向中间件会在 HTTPS 端口不明确时引发异常
中间件:新 Use 重载 预览版 4
使用 System.Text.Json 时,MVC 不缓冲 IAsyncEnumerable 类型 预览版 4
可以为 Null 的引用类型注释已更改
已过时和已删除的 API 预览版 1
PreserveCompilationContext 不默认配置
Razor:编译器不再生成 Views 程序集 预览版 3
Razor:RazorEngine API 标记为已过时 预览版 1
SignalR:Java 客户端已更新到 RxJava3 预览版 4

Core .NET 库

标题 引入的预览版
API 已过时并带有非默认诊断 ID 预览版 1
对可以为 Null 的引用类型注释的更改 预览版 1-2
Windows 上的 Environment.ProcessorCount 行为 预览版 2
FileStream 不再将文件偏移量与操作系统同步 预览版 4
FileStream.Position 在 ReadAsync 或 WriteAsync 完成后更新 预览版 4
过时 API 的新诊断 ID 预览版 5
新的 System.Linq.Queryable 方法重载 预览版 3-4
已从包中删除较旧的框架版本 预览版 5
DeflateStream、GZipStream 和 CryptoStream 中的部分和零字节读取 预览版 6
流派生类型中的一些参数已重命名 预览版 1
标准数字格式分析精度 预览版 2
仅在 Windows 上支持 System.Drawing.Common 预览版 7
来自 BackgroundService 的未经处理的异常 预览版 4

全球化

标题 引入的预览版
全球化固定模式下的区域性创建和大小写映射 预览版 7

JIT 编译器

标题 引入的预览版
根据 ECMA-335 强制调用参数 预览版 1

网络

标题 引入的预览版
WebRequest、WebClient 和 ServicePoint 已过时 预览版 1

SDK 中 IsInRole 中的声明

标题 引入的预览版
dotnet run-p 选项已弃用 预览版 6
早期版本不支持模板中的 C# 代码 预览版 7
生成适用于 macOS 的 apphost 预览版 6
针对发布输出中的重复文件生成错误 预览版 1
从 ProjectReference 协议中删除了 GetTargetFrameworkProperties 和 GetNearestTargetFramework 预览版 1
C# 项目中的隐式命名空间 预览版 7
OutputType 不会自动设置为 WinExe RC 1

序列化

标题 引入的预览版
JsonNode 不再支持 C# dynamic 类型 预览版 7

Windows 窗体

标题 引入的预览版
所选的 TableLayoutSettings 属性会引发 InvalidEnumArgumentException 预览版 1
与 DataGridView 相关的 API 现在引发 InvalidOperationException 预览版 4
增加了 NotifyIcon.Text 最大文本长度 预览版 1
一些 API 引发 ArgumentNullException 预览版 1-4
如果节点被分配到其他地方,则 TreeNodeCollection.Item 抛出异常 预览版 1