我已经Main
像这样配置了我的控制台应用程序
var services = new ServiceCollection()
.AddLogging(logging => logging.AddConsole())
.BuildServiceProvider();
然后我尝试在另一个类中使用它
private readonly ILogger _logger;
public MyClass(ILogger logger)
{
_logger = logger;
}
public void MyFunc()
{
_logger.Log(LogLevel.Error, "My Message");
}
System.InvalidOperationException:'无法解析类型'Microsoft.Extensions.Logging.ILogger'的服务
我已经尝试过这里的解决方案,但它对我不起作用。
编辑 基于下面 Yaakov 的评论和这个 Github 评论,我可以通过这样做正确解决它
public MyClass(ILogger<MyClass> logger)
{
_logger = logger;
}
我本来希望一开始就这样做,BuildServiceProvider
但看起来每次我想使用记录器(或创建我自己的 ILogger)时我都必须重复这个。