C# ';无法解析类型为';Microsoft.Extensions.Logging.ILogger`1[Application.Startup]&x27;试图激活';Application.Startup'';
我有一个ASP.NET Core 3.0应用程序。我得到的错误是 “在尝试激活“Application.Startup”时,无法解析类型为“Microsoft.Extensions.Logging.ILogger`1[Application.Startup]”的服务。” 我知道ILogger不是ASP.NET Core 3.0应用程序中默认注册的。下面是我的Program.cs和Startup.cs代码,仅供参考C# ';无法解析类型为';Microsoft.Extensions.Logging.ILogger`1[Application.Startup]&x27;试图激活';Application.Startup'';,c#,asp.net-core,C#,Asp.net Core,我有一个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 CreateHostBuil
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureLogging(logging =>
{
logging.ClearProviders();
logging.SetMinimumLevel(LogLevel.Trace);
})
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
公共静态IHostBuilder CreateHostBuilder(字符串[]args)=>
Host.CreateDefaultBuilder(args)
.ConfigureLogging(日志=>
{
logging.ClearProviders();
logging.SetMinimumLevel(LogLevel.Trace);
})
.ConfigureWebHostDefaults(webBuilder=>
{
webBuilder.UseStartup();
});
Startup.cs
public void ConfigureServices(IServiceCollection services)
{
var serviceProvider = services.BuildServiceProvider();
var logger = serviceProvider.GetService<ILogger<AnyClass>>();
services.AddSingleton(typeof(ILogger), logger);
...
}
public void配置服务(IServiceCollection服务)
{
var serviceProvider=services.BuildServiceProvider();
var logger=serviceProvider.GetService();
服务。AddSingleton(类型(ILogger),记录器);
...
}
请任何人都帮我解决这个错误,我在我的情况下做错了什么?根据在Startup中完成DI容器设置之前写入日志。不支持ConfigureServices方法
您不能执行var logger=serviceProvider.GetService()代码>由于DI容器尚未配置,因此在该阶段
有关提供的链接的更多信息。我也尝试对这些行进行注释,但在调试时,它仍然在HostBuilder.Build().Run()行上抛出错误。您通过执行此操作清除了所有提供程序logging.ClearProviders()代码>并且没有添加任何备份。尝试添加logging.AddConsole()代码>并查看它的运行情况。此扩展方法可能需要此nuget包。ILOGingBuilder不包含AddConsole()的定义,其中日志记录为ILOGingBuilderAddConsole()在我添加时可用。ConfigureLogging但在本例中仍然存在错误var logger=serviceProvider.GetService();这回答了你的问题吗?没有,正如后面的ASP.NET 3.0链接中所说的,但仍然是相同的错误。该问题答案的一部分与ASP.NET Core 3.0有关。无论如何,为什么要解析记录器以将其注册为单例?清空ConfigureServices中的所有代码