ASP0009: WebApplicationBuilder.WebHost で Configure を使用しない

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

原因

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

規則の説明

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

違反の修正方法

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

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

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