当我尝试使用文件接收器时,我收到了 MissingMethodException。
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Debug()
.WriteTo.File(logFilePath, rollingInterval: RollingInterval.Day, shared: true)
.CreateLogger();
这真的很奇怪,因为我以前用相同的设置使用过它,它从来没有出现任何问题,但我确定这是导致错误的原因,因为如果我去掉 .WriteTo.File() 行,我不会'得到错误。
这是我的packages.config:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="ModPlus.Revit.API.2020" version="1.0.0" targetFramework="net472" />
<package id="Serilog" version="2.9.0" targetFramework="net472" />
<package id="Serilog.Sinks.File" version="4.1.0" targetFramework="net472" />
</packages>
你能想出发生这种情况的原因吗?
我见过类似的问题,通常是由于程序集文件中的版本不匹配,但我检查并引用了正确的版本(至少在我的packages.config中可以看到)
编辑 2: 调用 Serilog 的代码是 Revit(3D 建模软件)的插件,我只是尝试在 2 个不同版本的平台中运行此插件:
- Revit 2020,我得到了未处理的异常
- Revit 2019,它工作正常!(我需要插件在两个版本上都可以工作)
两个版本的软件都使用同一个版本的.NET Framework, 4.7.2
这是否提供了更多线索?在一个版本中可能出了什么问题,而在另一个版本中却没有?