相关疑难解决方法(0)

无法解析类型为“ Microsoft.Extensions.Logging.ILogger`1 [WebApplication1.Startup]”的服务

我在Visual Studio 2019 Preview 2.2中使用默认模板创建了ASP.NET Core 3.0 Web应用程序,并尝试在启动中注入ILogger:

namespace WebApplication1
{
    public class Startup
    {
        private readonly ILogger _logger;

        public Startup(IConfiguration configuration, ILogger<Startup> logger)
        {
            Configuration = configuration;
            _logger = logger;
        }
        // ...
    }
}
Run Code Online (Sandbox Code Playgroud)

在Program.cs中,我还调用ConfigureLogging()方法:

namespace WebApplication1
{
    public class Program
    {
        public static void Main(string[] args)
        {
            CreateHostBuilder(args).Build().Run();
        }

        public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureLogging((hostingContext, logging) =>
                {
                    logging.AddConfiguration(hostingContext.Configuration.GetSection("Logging"));
                    logging.ClearProviders();
                    logging.AddConsole();
                })
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>();
                });
    }
}
Run Code Online (Sandbox Code Playgroud)

它在ASP.NET Core 2.x中工作,但在ASP.NET Core 3中失败,并显示以下错误:

System.InvalidOperationException: …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-core razor-pages visual-studio-2019 asp.net-core-3.0

7
推荐指数
4
解决办法
3373
查看次数