CompatibilityVersionやSetCompatibilityVersionなどの MVC 互換性バージョン API は、ASP.NET Core 11 で削除されます。 これらの API は、ASP.NET Core 3.0 以降は運用されておらず、ASP.NET Core 6 以降は廃止されています。
導入されたバージョン
.NET 11 Preview 7
以前の動作
以前は、互換性バージョンの API が存在し、呼び出される可能性がありましたが、ビルド時に旧形式の警告が生成され、実行時には影響を与えませんでした。
services.AddMvc()
.SetCompatibilityVersion(CompatibilityVersion.Latest);
新しい動作
ASP.NET Core 11 以降では、これらの API は存在しなくなりました。 それらを呼び出すコードはコンパイルに失敗し、それらを参照する既存のバイナリは実行時に MissingMethodException または TypeLoadExceptionで失敗します。
破壊的変更の種類
この変更は、 ソースの互換性 と バイナリの互換性に影響する可能性があります。
変更理由
API は ASP.NET Core 6 以降、古い形式としてマークされており、ASP.NET Core 3.0 以降は何も行わなかったため、値は提供されませんでした。 詳細については、 dotnet/aspnetcore#67077 を参照してください。
推奨されるアクション
これらの API の使用を削除します。 たとえば、次のコードを変更します。
services.AddMvc()
.SetCompatibilityVersion(CompatibilityVersion.Latest);
宛先:
services.AddMvc();
影響を受ける API
Microsoft.Extensions.DependencyInjection.MvcCoreMvcBuilderExtensions.SetCompatibilityVersionMicrosoft.Extensions.DependencyInjection.MvcCoreMvcCoreBuilderExtensions.SetCompatibilityVersionMicrosoft.AspNetCore.Mvc.Infrastructure.ConfigureCompatibilityOptions<TOptions>Microsoft.AspNetCore.Mvc.MvcCompatibilityOptionsMicrosoft.AspNetCore.Mvc.CompatibilityVersion
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
ASP.NET Core