我有一个webApi项目,该项目引发了有关无法找到System.Diagnostics.DiagnosticSource
库的异常。我添加了对该文件的nuget包的引用。但是现在我得到了:
System.IO.FileLoadException:'无法加载文件或程序集 'System.Diagnostics.DiagnosticSource,版本= 4.0.2.0, 文化=中立, PublicKeyToken = cc7b13ffcd2ddd51”或其依赖项之一。找到的程序集 清单定义与程序集引用不匹配。 (来自HRESULT的异常:0x80131040)'
“程序包”文件夹中的版本为 4.6.25519.03
如何解决此问题?
csproj参考:
<Reference Include="System.Diagnostics.DiagnosticSource, Version=4.0.2.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\packages\System.Diagnostics.DiagnosticSource.4.4.1\lib\net46\System.Diagnostics.DiagnosticSource.dll</HintPath>
</Reference>
答案 0 :(得分:1)
<Reference Include="System.Diagnostics.DiagnosticSource, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Diagnostics.DiagnosticSource.4.5.0\lib\net46\System.Diagnostics.DiagnosticSource.dll</HintPath>
</Reference>
属性不必必须与该软件包的packages文件夹中的版本号匹配。实际上,我的设置为
app.config
,并且程序集上的产品版本设置为 4.6.26515.6 ,在编译过程中我没有收到任何错误或警告,并且在运行时找到了程序集。
我建议的是
如果这些方法无济于事,请考虑在您的# /etc/systemd/system/btrfs-scrub@-.timer.d/OnCalendar.conf
[Timer]
OnCalendar=
OnCalendar=*-*-01 00:00:00
文件中添加一个binding redirect。