ASP.NET Core 的下一个次版本可能提供新的 CompatibilityVersion 值。

请参阅防伪、CORS、诊断、Mvc 和路由中的重大 API 变更。 此列表包含兼容性开关的重大变更。

SetCompatibilityVersion 方法允许 ASP.NET Core 2.x 应用选择加入或退出 ASP.NET Core MVC 2.1 或 2.2 中引入的潜在重大行为变更。 这些潜在的中断行为变更通常取决于 MVC 子系统的行为方式以及运行时调用“代码”的方式。 通过选择加入,你将获取最新的行为以及 ASP.NET Core 的长期行为。

以下代码将兼容模式设置为 ASP.NET Core 2.2:

建议使用最新版本 (CompatibilityVersion.Latest) 来测试应用。 我们预计大多数应用不会使用最新版本进行中断行为变更。

不适用于所有 2.1 和更高版本的更改,它的目标是潜在地中断 MVC 子系统中的 ASP.NET Core 运行时行为变更。

以下代码将兼容模式设置为 ASP.NET Core 2.2(以下行为除外):

对于遇到中断行为变更的应用,请使用适当的兼容性开关:

允许使用最新版本并选择退出特定的中断行为变更。

请用些时间更新应用,以便其适用于最新更改。

MvcOptions 文件很好地解释了更改的内容以及为什么更改对大多数用户来说是一种改进。

对于 ASP.NET Core 3.0,已删除兼容性开关支持的旧行为。 我们认为这些积极的变化几乎使所有用户受益。 通过在 2.1 和 2.2 中引入这些更改,大多数应用都可以受益,而其他应用则有时间更新。