找不到方法:'Serilog.LoggerConfiguration

The*_*l26 7 c# serilog

我的解决方案有一个主记录器,它被定义为

    Log.Logger = new LoggerConfiguration()
        .MinimumLevel.Verbose()
        .WriteTo.LiterateConsole(LogEventLevel.Verbose)
        .WriteTo.RollingFile($"{appLogDir}{Path.DirectorySeparatorChar}logs{Path.DirectorySeparatorChar}V-RPi-{{Date}}.log")
        .WriteTo.RollingFile($"{appLogDir}{Path.DirectorySeparatorChar}logs-warnings{Path.DirectorySeparatorChar}V-RPi-{{Date}}.log", LogEventLevel.Warning)
        .WriteTo.File($"{appLogDir}{Path.DirectorySeparatorChar}recent-log.log", fileSizeLimitBytes: 134217728, restrictedToMinimumLevel: LogEventLevel.Verbose)
        .CreateLogger();
Run Code Online (Sandbox Code Playgroud)

我想创建两个单独的记录器来记录两个类实例中的内容。我已将它们定义如下。它位于与主项目不同的程序集中。

private ILogger comRespLog;
public **constructor**(string name)
{
comRespLog = new LoggerConfiguration()
                .MinimumLevel.Verbose()            
                .WriteTo.RollingFile($"{appLogDir}{Path.DirectorySeparatorChar}logs-CommandResponse-{Name}{Path.DirectorySeparatorChar}V-RPi-{{Date}}.log")
                .CreateLogger();
}
Run Code Online (Sandbox Code Playgroud)

我没有收到构建错误,但我在运行时收到了这个错误。

方法未找到:'Serilog.LoggerConfiguration Serilog.RollingFileLoggerConfigurationExtensions.RollingFile(Serilog.Configuration.LoggerSinkConfiguration, System.String, Serilog.Events.LogEventLevel, System.String, System.IFormatProvider, System.Nullable 1<Int64>, System.Nullable1, Serilog.Core.LoggingLevelSwitch, Boolean ,布尔值,System.Nullable`1)'。"}

The*_*l26 15

结果我在我的主程序集中引用了一个比我在子程序集中更旧的 nuget 包。更新它们使它们匹配后,问题就消失了。