ASP0008:请勿将 ConfigureWebHost 与 WebApplicationBuilder.Host 配合使用

价值
规则 ID ASP0008
类别 Usage
修复是中断修复还是非中断修复 Non-breaking

原因

ConfigureWebHost 不能与 WebApplicationBuilderHost 属性一起使用。

规则说明

WebApplicationBuilder不支持在生成之前使用WebHost扩展方法进行配置ConfigureWebHost

var builder = WebApplication.CreateBuilder(args);

builder.Host.ConfigureWebHost(webHostBuilder => {
    webHostBuilder.UseContentRoot(Path.Combine(Directory.GetCurrentDirectory(), "myContentRoot"));
});

var app = builder.Build();

app.Run();

如何修复违规行为

若要修复对此规则的违规行为,请直接在WebApplicationBuilder上配置WebHost。 例如,不要通过 ConfigureWebHost 设置内容根路径。

var builder = WebApplication.CreateBuilder(args);

builder.Host.ConfigureWebHost(webHostBuilder =>
{
    webHostBuilder.UseContentRoot(Path.Combine(Directory.GetCurrentDirectory(), "myContentRoot"));
});

var app = builder.Build();

app.Run();

直接在WebApplicationBuilder.WebHost上配置内容根路径。

var builder = WebApplication.CreateBuilder(args);

builder.WebHost.UseContentRoot(Path.Combine(Directory.GetCurrentDirectory(), "foobar"));

var app = builder.Build();

app.Run();

何时禁止显示警告

不要禁止显示此规则的警告。 配置不当的应用程序可能会导致运行时出现意外行为。