Получение ошибки: "WebHostBuilder" не содержит определения для "UseLamar"
Я вижу, что есть поддержка ASP.NET Core 3.0, но как насчет 3.1? Я пробовал безуспешно. Не уверен, что я делаю что-то глупое или это не поддерживается?
Я установил последние пакеты Nuget:
- Ламар 4.0.0
- Lamar.Microsoft.DependencyInjection 4.0.2
И я использую:
var builder = new WebHostBuilder();
builder.UseLamar()
Файл включает using Lamar.Microsoft.DependencyInjection;
наверху.
Но появляется ошибка: "WebHostBuilder" не содержит определения для "UseLamar".
1 ответ
Руководство по интеграции с ASP.Net Core включает примечание, в котором говорится:
Если вы ориентируетесь на.Net Core 3.0 и / или
netstandard2.1
используйте только что консолидированный HostBuilder вместо предыдущегоIWebHostBuilder
.
Буквальная замена кода, показанного в вопросе, будет выглядеть так:
var builder = new HostBuilder();
builder.UseLamar();
Однако типичный установочный код для создания компоновщика хоста с вызовом UseLamar
добавлено, будет выглядеть примерно так для 3.0+:
Host.CreateDefaultBuilder(args)
.UseLamar()
.ConfigureWebHostDefaults(webHostBuilder =>
{
webHostBuilder.UseStartup<Startup>();
});
В заметке, которую я привел выше, ссылки на документы ASP.NET Core, в которых гораздо более подробно объясняется общий хост: .NET Generic Host.