【问题标题】:No overload for method "AddDebug" takes 1 arguments方法“AddDebug”没有重载需要 1 个参数
【发布时间】:2020-06-25 10:53:32
【问题描述】:

我尝试在我的项目中将 .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。

【问题讨论】:

    标签: asp.net-core visual-studio-2019 asp.net-core-2.2 asp.net-core-3.1


    【解决方案1】:

    我收到“方法“AddDebug”没有重载需要 1 个参数”错误

    如果您查看 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);
    

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

    【讨论】:

    • 非常感谢您的回答。我用链接中给出的解决方案解决了这个问题。(stackoverflow.com/questions/53840298/…)。
    • 解决方法和我上面回复中提到的一样,在3.0+项目中推荐使用LoggingBuilder.AddDebug()。
    猜你喜欢
    • 2012-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多