发现无法解决的“ System.Diagnostics.DiagnosticSource”不同版本之间的冲突

时间:2019-12-05 14:26:49

标签: c# visual-studio-2017

我正在使用针对net461框架的WinForm App。 不幸的是,此警告出现在运行时错误列表中:

找到了无法解决的不同版本的“ System.Diagnostics.DiagnosticSource”之间的冲突。将日志详细程度设置为“详细”时,这些参考冲突会在构建日志中列出。

Found conflicts Error VS2017

添加到package.config并没有帮助:

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="System.Diagnostics.DiagnosticSource" version="4.4.1" targetFramework="net461" />
</packages>

有人对此有想法吗?

1 个答案:

答案 0 :(得分:0)

通常,当不同的依赖项带来自己的System.Diagnostics.DiagnosticSource程序集版本时,就会出现此问题。对于任何其他程序集冲突也是如此。

这种行为的原因在于.NET Framework的错误设计,还在于.NET Core依赖关系逻辑。 .NET Core coreclrcorefx回购版本经常会产生相同的警告,但副作用是较大的NuGet程序包,其中包含所有冲突版本的程序集,甚至是完整的框架。

警告本身是良性的,可以安全地忽略。唯一的影响是,在构建过程中,NuGet将导入更多软件包。