方法 "AddDebug" 没有重载需要 1 个参数

No overload for method "AddDebug" takes 1 arguments

我尝试在我的项目中将 .net core sdk 从 2.2 升级到 3.1。 在 .net core sdk 2.2 中,我使用 loggerFactory.AddDebug(Enum.Parse<LogLevel>(this.Configuration.GetSection("Logging:Debug:LogLevel:Default").Value)); 工作正常。但是在 .net core sdk 3.1 中,我使用相同的代码,出现“方法“AddDebug”没有重载需要 1 个参数”错误。我通过 nuget 包管理器安装了 Microsoft.Extensions.Logging 包 v3.1.5。

I getting "No overload for method "AddDebug" takes 1 arguments" error

如果您检查 2.2 版项目中 AddDebug() method 的定义,您会发现该方法已过时,建议使用 AddDebug(this ILoggingBuilder builder) 替代方法。

    //
    // Summary:
    //     Adds a debug logger that is enabled for Microsoft.Extensions.Logging.LogLevels
    //     of minLevel or higher.
    //
    // Parameters:
    //   factory:
    //     The extension method argument.
    //
    //   minLevel:
    //     The minimum Microsoft.Extensions.Logging.LogLevel to be logged
    [Obsolete("This method is obsolete and will be removed in a future version. The recommended alternative is AddDebug(this ILoggingBuilder builder).")]
    public static ILoggerFactory AddDebug(this ILoggerFactory factory, LogLevel minLevel);

3.0 及更高版本中 above method has been removed from Microsoft.Extensions.Logging namespace