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.
WebHostBuilder, IWebHoste WebHost foram marcados como obsoletos no .NET 10.
WebHostBuilder foi substituído por HostBuilder (host genérico) no ASP.NET Core 3.0 e WebApplicationBuilder foi introduzido no ASP.NET Core 6.0. Essas alternativas mais recentes são onde os investimentos futuros ocorrerão.
Versão introduzida
.NET 10 RC 1
Comportamento anterior
Anteriormente, você poderia usar WebHostBuilder para configurar e criar um host da Web sem avisos de tempo de compilação.
Novo comportamento
A partir do .NET 10, o uso WebHostBuilder produz um aviso do compilador com a ID de ASPDEPR004diagnóstico:
aviso ASPDEPR004: WebHostBuilder foi preterido em favor de HostBuilder e WebApplicationBuilder. Para obter mais informações, visite https://aka.ms/aspnet/deprecate/004.
Usar IWebHost ou WebHost produzir um aviso do compilador com a ID de ASPDEPR008diagnóstico:
ASPDEPR008 de aviso: o WebHost está obsoleto. Em vez disso, use HostBuilder ou WebApplicationBuilder. Para obter mais informações, visite https://aka.ms/aspnet/deprecate/008.
Tipo de mudança disruptiva
Essa alteração pode afetar a compatibilidade do código-fonte.
Motivo da alteração
HostBuilder e WebApplication ter todos os recursos de WebHostBuilder e são o foco do investimento futuro.
WebHostBuilder foi substituído pelo host genérico no ASP.NET Core 3.0 e as APIs mínimas com WebApplicationBuilder foram introduzidas no ASP.NET Core 6.0. Esses modelos de hospedagem mais recentes fornecem uma melhor integração com o ecossistema do .NET e são a abordagem recomendada para novos aplicativos.
Ação recomendada
Migrar de WebHostBuilder um para outro HostBuilder ou WebApplication:
Para aplicativos que precisam dos recursos completos de hospedagem, migre para
HostBuilder:Before:
var hostBuilder = new WebHostBuilder() .UseContentRoot(Directory.GetCurrentDirectory()) .UseStartup() .UseKestrel(); // Test code might use TestServer: var testServer = new TestServer(hostBuilder);After:
using var host = new HostBuilder() .ConfigureWebHost(webHostBuilder => { webHostBuilder .UseTestServer() // If using TestServer. .UseContentRoot(Directory.GetCurrentDirectory()) .UseStartup() .UseKestrel(); }) .Build(); await host.StartAsync(); var testServer = host.GetTestServer();Para novos aplicativos, especialmente aqueles que usam APIs mínimas, migre para WebApplicationBuilder.
APIs afetadas
- Microsoft.AspNetCore.Hosting.WebHostBuilder
- Microsoft.AspNetCore.Hosting.IWebHost
- Microsoft.AspNetCore.WebHost