1

我看到有对 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”的定义。

4

1 回答 1

2

ASP.Net Core 集成指南包括说明:

如果您的目标是 .Net Core 3.0 和/或 .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 通用主机

于 2019-12-31T20:56:09.173 回答