c# - 'ILoggerFactory' 不包含 'AddConsole' 的定义

标签 c# .net-core nuget discord.net

private ILoggerFactory ConfigureLogging(ILoggerFactory factory)
{
      factory.AddConsole();
      return factory;
}

我在 Github 上找到了上面的代码片段.它给出了以下错误:

'ILoggerFactory' does not contain a definition for 'AddConsole' and the best extension method overload 'ConsoleLoggerExtensions.AddConsole(ILoggingBuilder)' requires a receiver of type 'ILoggingBuilder'

我使用的是 NET Core 3.0,并且安装了以下 NuGet 包。

<PackageReference Include="Discord.Net" Version="2.1.1" />
<PackageReference Include="Discord.Net.Commands" Version="2.1.1" />
<PackageReference Include="Discord.Net.WebSocket" Version="2.1.1" />
<PackageReference Include="Microsoft.Extensions.Configuration" Version="3.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="3.0.0" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="3.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="3.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="3.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="3.0.0" />
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="3.0.0" />

为什么我得到 ILoggerFactory 没有方法 AddConsole()?我该如何解决这个问题?

最佳答案

我刚刚在学习 Pluralsight 类(class)后遇到了这个问题。在下一张幻灯片解释为什么他们的 .AddConsole 在 ILoggerFactory.Create 中工作时,我已经超前了。

即使您只需要在类中使用 using Microsoft.Extensions.Logging,您也需要显式添加对 .Net Core 应用程序的包引用,以便找到 .AddConsole 方法。

dotnet add package Microsoft.Extensions.Logging.Console

并将此 using 语句添加到您的代码中

using Microsoft.Extensions.Logging;

关于c# - 'ILoggerFactory' 不包含 'AddConsole' 的定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58259520/

相关文章:

c# - uwp 应用程序(.net native )和未处理的异常

c# - 多个数据库上下文

c# - 将多行数据导出到 csv 中的同一单元格

javascript - C# 相当于 Python 属性定制/Javascript 对象字面量

.net-core - Stryker.NET 从项目的根目录支持 SLN 文件

visual-web-developer - NuGet: "Unable to load one or more of the requested types"

c# - 如何允许所有 https 而不管 .NET Core HttpClient 中的有效性?

asp.net - ASP Core、Identity Server 4 和 Angular 2 中的外部提供商登录

visual-studio - Nuget - 包管理器控制台的编写工具(自定义 cmdlet)

c# - HRESULT : 0x80131040 - Microsoft. WindowsAzure. 未找到存储