C# 获取错误:';WebHostBuilder';不包含';UseLamar';

C# 获取错误:';WebHostBuilder';不包含';UseLamar';,c#,asp.net-core,lamar,C#,Asp.net Core,Lamar,我看到有对ASP.NET Core 3.0的支持,但是3.1呢?我试过了,但运气不好。不确定我是在做傻事还是不受支持 我已经安装了最新的Nuget软件包: 拉马尔4.0.0 Lamar.Microsoft.DependencyInjection 4.0.2 我正在使用: var builder = new WebHostBuilder(); builder.UseLamar() 该文件包括使用Lamar.Microsoft.DependencyInjection的在顶部 但是得到错误: “

我看到有对ASP.NET Core 3.0的支持,但是3.1呢?我试过了,但运气不好。不确定我是在做傻事还是不受支持

我已经安装了最新的Nuget软件包:

  • 拉马尔4.0.0
  • Lamar.Microsoft.DependencyInjection 4.0.2
我正在使用:

var builder = new WebHostBuilder();
builder.UseLamar()
该文件包括使用Lamar.Microsoft.DependencyInjection的
在顶部

但是得到错误: “WebHostBuilder”不包含“UseLamar”的定义。

本指南包含一条说明:

如果您的目标是.Net Core 3.0和/或
netstandard2.1
,请使用新整合的而不是以前的
IWebHostBuilder

问题中所示代码的文字替换如下所示:

var builder = new HostBuilder();
builder.UseLamar();
但是,对于3.0+,创建主机生成器的典型设置代码(添加了对
UseLamar
的调用)与此类似:

Host.CreateDefaultBuilder(args)
    .UseLamar()
    .ConfigureWebHostDefaults(webHostBuilder =>
    {
        webHostBuilder.UseStartup<Startup>();
    });
Host.CreateDefaultBuilder(args)
.UseLamar()
.ConfigureWebHostDefaults(webHostBuilder=>
{
webHostBuilder.UseStartup();
});

我在上面提到了ASP.NET核心文档的链接,这更详细地解释了通用主机:。

Kirk,这让我非常接近。我必须在末尾添加.Build().Run()使其运行:Host.CreateDefaultBuilder(args).UseLamar().ConfigureWebHostDefaults(webHostBuilder=>webHostBuilder.UseStartup()).Build().Run();