.NET 9 中的中断性变更
如果要将应用迁移到 .NET 9,则此处列出的中断性变更可能会影响到你。 变更按技术领域分组,例如 ASP.NET Core 或 Windows 窗体。
本文将每个中断性变更分类为“二进制不兼容”或“源不兼容”,或者作为“行为更改”:
二进制文件不兼容 - 当针对新的运行时或组件运行时,现有二进制文件可能会遇到行为上的中断性变更(例如加载或执行失败),如果是这样,则需要重新编译。
源代码不兼容 - 当使用新的 SDK 或组件重新编译,或以新的运行时为目标时,现有源代码可能需要更改源才能成功编译。
行为更改 - 现有代码和二进制文件在运行时的行为可能会有所不同。 如果不需要新的行为,则需要更新和重新编译现有代码。
注意
本文是当前正在进行的工作。 这并不是 .NET 9 中的中断性变更的完整列表。 若要查询仍处于待发布状态的中断性变更,请查看 .NET 问题。
ASP.NET Core
标题 | 更改类型 | 引入的版本 |
---|---|---|
DefaultKeyResolution.ShouldGenerateNewKey 已更改含义 | 行为变更 | 预览版 3 |
Core .NET 库
标题 | 更改类型 | 引入的版本 |
---|---|---|
使用 CompressionLevel 添加 ZipArchiveEntry 时,会设置 ZIP 中央目录标头常规用途位标志 | 行为变更 | 预览版 5 |
API 已过时并带有自定义诊断 ID | 源不兼容 | 预览版 1 |
不允许创建 System.Void 数组类型 | 行为变更 | 预览版 1 |
强制实施内联数组结构大小限制 | 行为变更 | 预览版 1 |
InMemoryDirectoryInfo 将 rootDir 添加到文件前面 | 行为变更 | 预览版 1 |
RuntimeHelpers.GetSubArray 返回不同类型 | 行为变更 | 预览版 1 |
网络
标题 | 更改类型 | 引入的版本 |
---|---|---|
HttpListenerRequest.UserAgent 可为空 | 源不兼容 | 预览版 1 |
SDK 和 MSBuild
标题 | 更改类型 | 引入的版本 |
---|---|---|
dotnet workload 命令输出更改 |
行为变更 | 预览版 1 |
终端记录器为默认值 | 行为变更 | 预览版 1 |
Windows 窗体
标题 | 更改类型 | 引入的版本 |
---|---|---|
BindingSource.SortDescriptions 不返回 null | 行为变更 | 预览版 1 |
对为 null 性批注的更改 | 源不兼容 | 预览版 1 |
ComponentDesigner.Initialize 引发 ArgumentNullException | 行为变更 | 预览版 1 |
DataGridViewRowAccessibleObject.Name 起始行索引 | 行为变更 | 预览版 1 |
如果 DataGridView 为 null,则无异常 | 行为变更 | 预览版 1 |
WPF
标题 | 更改类型 | 引入的版本 |
---|---|---|
GetXmlNamespaceMaps 类型更改 |
行为变更/源不兼容 | 预览版 3 |
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈