ASP0009:不要使用“通过 WebApplicationBuilder.WebHost 配置”

规则 ID ASP0009
类别 使用情况
修复是中断修复还是非中断修复 非中断

原因

Configure 不能与 WebApplicationBuilder 上的 WebHost 属性一起使用。

规则说明

WebApplicationBuilder 不支持在生成前使用 Configure 扩展方法配置 WebHost

var builder = WebApplication.CreateBuilder(args);

builder.WebHost.Configure(webHostBuilder => {
    webHostBuilder.UseContentRootPath(Path.Combine(Directory.GetCurrentDirectory(), "myContentRoot"));
});

var app = builder.Build();

app.Run();

如何解决冲突

若要解决此规则的冲突,请直接在 WebApplicationBuilder上配置 WebHost。 例如,不要通过 Configure 设置内容根路径。

var builder = WebApplication.CreateBuilder(args);

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

var app = builder.Build();

app.Run();

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

var builder = WebApplication.CreateBuilder(args);

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

var app = builder.Build();

app.Run();

何时禁止显示警告

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