WebHostBuilder, IWebHost并且 WebHost 已在 .NET 10 中标记为已过时。 
              WebHostBuilder 已替换为 HostBuilder ASP.NET Core 3.0 中的(泛型主机),并在 WebApplicationBuilder ASP.NET Core 6.0 中引入。 这些较新的替代方案是未来投资将发生的地方。
已引入的版本
.NET 10 RC 1
以前的行为
以前,可以使用 WebHostBuilder 该主机来配置和生成 Web 主机,而无需任何编译时警告。
新行为
从 .NET 10 开始,使用 WebHostBuilder 生成带有诊断 ID ASPDEPR004的编译器警告:
警告ASPDEPR004:WebHostBuilder 已弃用,支持 HostBuilder 和 WebApplicationBuilder。 有关详细信息,请访问 https://aka.ms/aspnet/deprecate/004。
使用 IWebHost 或 WebHost 生成带有诊断 ID ASPDEPR008的编译器警告:
警告ASPDEPR008:WebHost 已过时。 请改用 HostBuilder 或 WebApplicationBuilder。 有关详细信息,请访问 https://aka.ms/aspnet/deprecate/008。
破坏性变更的类型
此更改可能会影响 源兼容性。
更改原因
              HostBuilder 并 WebApplication 具有所有特征 WebHostBuilder ,并且是未来投资的重点。 
              WebHostBuilder 已替换为 ASP.NET Core 3.0 中的泛型主机,ASP.NET Core 6.0 中引入了最少的 API WebApplicationBuilder 。 这些较新的托管模型可更好地与 .NET 生态系统集成,并推荐用于新应用程序的方法。
建议的措施
从WebHostBuilder任一迁移到或HostBuilderWebApplication:
对于需要完整托管功能的应用程序,请迁移到
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();对于新应用程序,尤其是那些使用最少 API 的应用程序,请迁移到 WebApplicationBuilder。
受影响的 API
- Microsoft.AspNetCore.Hosting.WebHostBuilder
 - Microsoft.AspNetCore.Hosting.IWebHost
 - Microsoft.AspNetCore.WebHost