【发布时间】:2020-03-21 20:51:59
【问题描述】:
我有一个 ASP.NET Core 3.0 应用程序。我收到错误
“尝试激活“Application.Startup”时,无法解析“Microsoft.Extensions.Logging.ILogger`1[Application.Startup]”类型的服务。”
我知道 ILogger 没有在 ASP.NET Core 3.0 应用程序中默认注册。下面是我的 Program.cs 和 Startup.cs 代码供参考
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureLogging(logging =>
{
logging.ClearProviders();
logging.SetMinimumLevel(LogLevel.Trace);
})
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
Startup.cs
public void ConfigureServices(IServiceCollection services)
{
var serviceProvider = services.BuildServiceProvider();
var logger = serviceProvider.GetService<ILogger<AnyClass>>();
services.AddSingleton(typeof(ILogger), logger);
...
}
请谁能帮我解决这个错误,我做错了什么?
【问题讨论】:
-
这能回答你的问题吗? How do I write logs from within Startup.cs
-
否 如链接中所说的 ASP.NET 3.0 跟随但仍然相同的错误
-
该问题的部分答案是关于 ASP.NET Core 3.0
-
你为什么要解析记录器只是为了将其注册为单例?
-
清空您的 ConfigureServices 中的所有代码
标签: c# asp.net-core