当前上下文 Dotnet 核心中不存在名称 'Host'

The name 'Host' does not exist in the current context Dotnet core

我正在尝试在我的 dotnet 核心中配置 nlogging application.while 创建方法 CreateHostBuilder 我遇到编译错误“名称 'Host' 在当前上下文中不存在”。我也提供了命名空间。 我的program.cs文件代码如下:

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.DependencyInjection;


public static IHostBuilder CreateHostBuilder(string[] args) =>
             Host.CreateDefaultBuilder(args)
               .ConfigureWebHostDefaults(webBuilder =>
               {
                   webBuilder.UseStartup<Startup>();
               })
               .ConfigureLogging(logging =>
               {
                   logging.ClearProviders();
                   logging.SetMinimumLevel(Microsoft.Extensions.Logging.LogLevel.Trace);
               })
               .UseNLog();  // NLog: Setup NLog for Dependency injection

在“主机”处获取异常。

您正在 Net Core 2.x 项目中使用 Net 3.0 语法 Host.ConfigureWebHostDefaults3.0 specific

这里有 2 个选项

  1. 将项目升级到 3.0
  2. 将您的配置转换为 2.x 特定于类似这样的东西

像这样

public static IHostBuilder CreateHostBuilder(string[] args) =>
   WebHost.CreateDefaultBuilder(args)
        .UseStartup<Startup>()
        .ConfigureLogging(logging =>
                {
                   logging.ClearProviders();
                   logging.SetMinimumLevel(Microsoft.Extensions.Logging.LogLevel.Trace);
               })
       .UseNLog(); // NLog: Setup NLog for Dependency injection