Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
As APIs da versão de compatibilidade MVC, como CompatibilityVersion e SetCompatibilityVersion, foram removidas no ASP.NET Core 11. Estas APIs eram no-ops desde o ASP.NET Core 3.0 e têm sido consideradas obsoletas desde o ASP.NET Core 6.
Versão introduzida
.NET 11 Preview 7
Comportamento anterior
Anteriormente, existiam APIs de versões de compatibilidade que podiam ser chamadas, mas produziam um aviso de obsolescência em tempo de compilação e não tinham efeito em tempo de execução:
services.AddMvc()
.SetCompatibilityVersion(CompatibilityVersion.Latest);
Novo comportamento
A partir do ASP.NET Core 11, estas APIs deixaram de existir. O código que os chama não compila, e os binários existentes que os referenciam falham em tempo de execução com um MissingMethodException ou TypeLoadException.
Tipo de mudança disruptiva
Essa alteração pode afetar a compatibilidade de origem e a compatibilidade binária.
Motivo da mudança
As APIs têm sido consideradas obsoletas desde o ASP.NET Core 6 e não fizeram nada desde o ASP.NET Core 3.0, pelo que não tinham qualquer valor. Para mais informações, veja dotnet/aspnetcore#67077.
Ação recomendada
Remova quaisquer utilizações destas APIs. Por exemplo, altere o seguinte código:
services.AddMvc()
.SetCompatibilityVersion(CompatibilityVersion.Latest);
Para:
services.AddMvc();
APIs afetadas
Microsoft.Extensions.DependencyInjection.MvcCoreMvcBuilderExtensions.SetCompatibilityVersionMicrosoft.Extensions.DependencyInjection.MvcCoreMvcCoreBuilderExtensions.SetCompatibilityVersionMicrosoft.AspNetCore.Mvc.Infrastructure.ConfigureCompatibilityOptions<TOptions>Microsoft.AspNetCore.Mvc.MvcCompatibilityOptionsMicrosoft.AspNetCore.Mvc.CompatibilityVersion