Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
API:er för MVC-kompatibilitetsversion, till exempel CompatibilityVersion och SetCompatibilityVersion, tas bort i ASP.NET Core 11. Dessa API:er har inte använts sedan ASP.NET Core 3.0 och har markerats som föråldrade sedan ASP.NET Core 6.
Version lanserad
.NET 11 Förhandsversion 7
Tidigare beteende
Tidigare fanns API:er för kompatibilitetsversion och kunde anropas, men de skapade en obsoletionsvarning vid byggtiden och hade ingen effekt vid körning:
services.AddMvc()
.SetCompatibilityVersion(CompatibilityVersion.Latest);
Nytt beteende
Från och med ASP.NET Core 11 finns dessa API:er inte längre. Kod som anropar dem kan inte kompileras och befintliga binärfiler som refererar till dem misslyckas vid körning med en MissingMethodException eller TypeLoadException.
Typ av brytande ändring
Den här ändringen kan påverka källkompatibilitet och binär kompatibilitet.
Orsak till ändringen
API:erna har markerats som föråldrade sedan ASP.NET Core 6 och gjorde ingenting sedan ASP.NET Core 3.0, så de tjänade inget värde. Mer information finns i dotnet/aspnetcore#67077.
Rekommenderad åtgärd
Ta bort alla användningar av dessa API:er. Ändra till exempel följande kod:
services.AddMvc()
.SetCompatibilityVersion(CompatibilityVersion.Latest);
Till:
services.AddMvc();
Berörda API:er
Microsoft.Extensions.DependencyInjection.MvcCoreMvcBuilderExtensions.SetCompatibilityVersionMicrosoft.Extensions.DependencyInjection.MvcCoreMvcCoreBuilderExtensions.SetCompatibilityVersionMicrosoft.AspNetCore.Mvc.Infrastructure.ConfigureCompatibilityOptions<TOptions>Microsoft.AspNetCore.Mvc.MvcCompatibilityOptionsMicrosoft.AspNetCore.Mvc.CompatibilityVersion
ASP.NET Core