ASP0008: WebApplicationBuilder.Host で ConfigureWebHost を使用しない

Value
ルール ID ASP0008
[カテゴリ] 使用法
修正が中断ありか中断なしか なし

原因

ConfigureWebHost は、WebApplicationBuilderHost プロパティと一緒に使用できません。

規則の説明

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

違反の修正方法

このルールの違反を修正するには、 WebHostWebApplicationBuilder に直接構成します。 たとえば、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();

どのようなときに警告を抑制するか

このルールからの警告は抑制しないでください。 アプリケーションの構成が間違っていると、実行時に予期しない動作が発生する可能性があります。