ASP0008:不要将 ConfigureWebHost 与 WebApplicationBuilder.Host 配合使用
值 | |
---|---|
规则 ID | ASP0008 |
类别 | 使用情况 |
修复是中断修复还是非中断修复 | 非中断 |
原因
ConfigureWebHost
不能与 WebApplicationBuilder
上的 Host
属性一起使用。
规则说明
WebApplicationBuilder
不支持在生成前使用 ConfigureWebHost
扩展方法配置 WebHost
。
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();
何时禁止显示警告
不禁止显示此规则发出的警告。 配置错误的应用程序可能会导致在运行时出现意外行为。