MVC-Kompatibilitätsoptionen entfernt

Die APIs für die MVC-Kompatibilitätsversion, wie CompatibilityVersion und SetCompatibilityVersion, werden in ASP.NET Core 11 entfernt. Diese APIs sind seit ASP.NET Core 3.0 wirkungslos und seit ASP.NET Core 6 als veraltet gekennzeichnet.

Eingeführt in Version

.NET 11 Vorschau 7

Bisheriges Verhalten

Zuvor waren die APIs für Kompatibilitätsversionen vorhanden und konnten aufgerufen werden, aber beim Erstellen erzeugten sie eine Veraltungswarnung und hatten zur Laufzeit keine Wirkung:

services.AddMvc()
    .SetCompatibilityVersion(CompatibilityVersion.Latest);

Neues Verhalten

Ab ASP.NET Core 11 sind diese APIs nicht mehr vorhanden. Code, der sie aufruft, lässt sich nicht kompilieren, und vorhandene Binärdateien, die auf sie verweisen, schlagen zur Laufzeit mit MissingMethodException oder TypeLoadException fehl.

Art der einschneidenden Änderung

Diese Änderung kann sich auf Quellkompatibilität und binäre Kompatibilität auswirken.

Grund für die Änderung

Die APIs sind seit ASP.NET Core 6 veraltet und haben seit ASP.NET Core 3.0 nichts getan, sodass sie keinen Wert bereitgestellt haben. Weitere Informationen finden Sie unter dotnet/aspnetcore#67077.

Entfernen Sie alle Verwendungen dieser APIs. Ändern Sie beispielsweise den folgenden Code:

services.AddMvc()
    .SetCompatibilityVersion(CompatibilityVersion.Latest);

in:

services.AddMvc();

Betroffene APIs

  • Microsoft.Extensions.DependencyInjection.MvcCoreMvcBuilderExtensions.SetCompatibilityVersion
  • Microsoft.Extensions.DependencyInjection.MvcCoreMvcCoreBuilderExtensions.SetCompatibilityVersion
  • Microsoft.AspNetCore.Mvc.Infrastructure.ConfigureCompatibilityOptions<TOptions>
  • Microsoft.AspNetCore.Mvc.MvcCompatibilityOptions
  • Microsoft.AspNetCore.Mvc.CompatibilityVersion