MVC-compatibiliteitsopties verwijderd

De MVC-compatibiliteitsversie-API's, zoals CompatibilityVersion enSetCompatibilityVersion, worden verwijderd in ASP.NET Core 11. Deze API's deden niets meer sinds ASP.NET Core 3.0 en zijn sinds ASP.NET Core 6 als verouderd aangemerkt.

Geïntroduceerde versie

.NET 11 preview 7

Vorig gedrag

Voorheen bestonden de API's voor de compatibiliteitsversie en konden ze worden aangeroepen, maar bij het bouwen gaven ze een verouderingswaarschuwing en hadden ze tijdens uitvoering geen effect:

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

Nieuw gedrag

Vanaf ASP.NET Core 11 bestaan deze API's niet meer. Code die ze aanroept, kan niet worden gecompileerd en bestaande binaire bestanden waarnaar wordt verwezen, mislukken tijdens runtime met een MissingMethodException of TypeLoadException.

Type van brekende verandering

Deze wijziging kan van invloed zijn op de broncompatibiliteit en binaire compatibiliteit.

Reden voor wijziging

De API's zijn gemarkeerd als verouderd sinds ASP.NET Core 6 en hebben niets gedaan sinds ASP.NET Core 3.0, zodat ze geen waarde hadden. Zie dotnet/aspnetcore#67077 voor meer informatie.

Verwijder alle gebruiksgegevens van deze API's. Wijzig bijvoorbeeld de volgende code:

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

Aan:

services.AddMvc();

Betreffende API's

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