ASP0008:請勿使用 ConfigureWebHost 搭配 WebApplicationBuilder.Host
值 | |
---|---|
規則識別碼 | 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();
隱藏警告的時機
請勿隱藏此規則的警告。 設定錯誤的應用程式可能會導致在執行階段出現非預期的行為。