ASP0009:请勿将 Configure 与 WebApplicationBuilder.WebHost 配合使用

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

原因

Configure 不能与 WebApplicationBuilderWebHost 属性一起使用。

规则说明

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

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();

何时禁止显示警告

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