Поделиться через


ASP0008: Не используйте ConfigureWebHost вместе с WebApplicationBuilder.Host

Ценность
Идентификатор правила ASP0008
Категория Использование
Исправление является разрушающим или неразрушающим. Неразрывный

Причина

ConfigureWebHost нельзя использовать с свойством Host в WebApplicationBuilder.

Описание правила

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

Устранение нарушений

Чтобы устранить нарушение этого правила, настройте WebHost непосредственно на WebApplicationBuilder. Например, вместо настройки корневого пути содержимого с помощью 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();

Когда следует подавлять предупреждения

Не подавляйте предупреждение согласно этому правилу. Неправильно настроенное приложение может привести к непредвиденному поведению во время выполнения.