Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Um conjunto de APIs nos assemblies Blazor Components marcados anteriormente como obsoletos foram removidos no ASP.NET Core 11. A maioria dessas APIs foi marcada como obsoleta já há várias versões e conta com alternativas funcionais recomendadas há anos.
Versão introduzida
.NET 11
Comportamento anterior
Anteriormente, as APIs afetadas eram compiladas com um aviso obsoleto. A maioria dos avisos apontou para uma API de substituição. Por exemplo, a chamada EditContext.AddDataAnnotationsValidation() produziu um aviso obsoleto recomendando EnableDataAnnotationsValidation.
Novo comportamento
No ASP.NET Core 11, as SEGUINTEs APIs são removidas e não são mais compiladas.
Microsoft.AspNetCore.Components
- Propriedade
Router.PreferExactMatches. A propriedade não teve efeito desde que o roteamento de correspondência exata se tornou o padrão em .NET 6. -
ResourceAsset(string url)sobrecarga do construtor.
Microsoft.AspNetCore.Components.Forms
- O método de extensão
EditContextDataAnnotationsExtensions.AddDataAnnotationsValidation(EditContext). -
EditContextDataAnnotationsExtensions.EnableDataAnnotationsValidation(EditContext)sobrecarga (a sobrecarga sem um parâmetroIServiceProvider). -
RemoteBrowserFileStreamOptionsclasse.
Microsoft.AspNetCore.Components.Web
-
WebEventCallbackFactoryEventArgsExtensionsclasse e todos os seus métodos de extensão. - O
initacessor deWebRenderer.RendererId. A propriedade agora é definida apenas pelo construtor.
Microsoft.AspNetCore.Components.WebAssembly
- Método
JSInteropMethods.NotifyLocationChanged(string, bool).
Microsoft.AspNetCore.Components.WebAssembly.Authentication
-
SignOutSessionStateManagerclasse. A classe tem sido uma no-op desde .NET 7. -
RemoteAuthenticationServicea sobrecarga do construtor que não recebe um registrador. - o construtor
AccessTokenResulte a propriedadeRedirectUrl. -
AccessTokenNotAvailableExceptionagora usaInteractiveRequestUrlno lugar do removidoRedirectUrl.
Tipo de mudança disruptiva
Essa alteração pode afetar a compatibilidade do código-fonte.
Motivo da alteração
Essas APIs foram marcadas como obsoletas em versões anteriores (a maioria entre .NET 5 e .NET 8). Cada um deles tinha um substituto documentado, e continuar distribuindo a superfície obsoleta aumentava o custo de manutenção e a superfície para Blazor, sem benefício. Para obter mais informações, consulte dotnet/aspnetcore#62755.
Ação recomendada
Atualize seu código para usar as APIs de substituição, conforme listado na tabela a seguir.
| API removida | Substituição |
|---|---|
Router.PreferExactMatches |
Remova a atribuição. A correspondência exata tem sido o padrão desde .NET 6. |
ResourceAsset(string url) |
ResourceAsset(string url, IReadOnlyList<ResourceAssetProperty>? properties) |
EditContextDataAnnotationsExtensions.AddDataAnnotationsValidation(EditContext) |
EditContextDataAnnotationsExtensions.EnableDataAnnotationsValidation(EditContext, IServiceProvider) |
EditContextDataAnnotationsExtensions.EnableDataAnnotationsValidation(EditContext) |
EditContextDataAnnotationsExtensions.EnableDataAnnotationsValidation(EditContext, IServiceProvider) |
RemoteBrowserFileStreamOptions |
BrowserFileStreamOptions |
WebEventCallbackFactoryEventArgsExtensions |
Usar o EventCallbackFactory diretamente. |
WebRenderer.RendererId.init Acessador |
Passe RendererId por meio do construtor WebRenderer. |
JSInteropMethods.NotifyLocationChanged(string, bool) |
JSInteropMethods.NotifyLocationChanged(string uri, string? state, bool isInterceptedLink) (adicionado em .NET 7). Este método deve ser usado apenas pelo framework. |
SignOutSessionStateManager |
Excluir registros de uso. A classe tem sido uma no-op desde .NET 7. |
RemoteAuthenticationService (construtor sem registrador) |
O construtor restante usa um ILogger<RemoteAuthenticationService<...>> parâmetro. |
AccessTokenResult construtor e RedirectUrl propriedade |
Use o construtor restante e InteractiveRequestUrl. |
APIs afetadas
- Microsoft.AspNetCore.Components.Routing.Router.PreferExactMatches
- Microsoft.AspNetCore.Components.Forms.EditContextDataAnnotationsExtensions.AddDataAnnotationsValidation
- Microsoft.AspNetCore.Components.Forms.EditContextDataAnnotationsExtensions.EnableDataAnnotationsValidation
Microsoft.AspNetCore.Components.Forms.RemoteBrowserFileStreamOptionsMicrosoft.AspNetCore.Components.Web.WebEventCallbackFactoryEventArgsExtensions-
Microsoft.AspNetCore.Components.RenderTree.WebRenderer.RendererId(acessador init) Microsoft.AspNetCore.Components.WebAssembly.Infrastructure.JSInteropMethods.NotifyLocationChanged(System.String, System.Boolean)Microsoft.AspNetCore.Components.WebAssembly.Authentication.SignOutSessionStateManager-
Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationService<TRemoteAuthenticationState, TAccount, TProviderOptions>(sobrecarga do construtor sem logger) -
Microsoft.AspNetCore.Components.WebAssembly.Authentication.AccessTokenResult(construtor legado e propriedadeRedirectUrl) -
Microsoft.AspNetCore.Components.ResourceAsset(sobrecarga do construtor semproperties)