Nuget参考错误,找不到命名空间

时间:2019-03-29 15:49:08

标签: c# asp.net-core-mvc nuget

我已经安装了运行som代码以创建QR码所需的NuGet软件包。程序包与system.drawing.common

冲突
  

错误CS0433'CoreCompat.System.Drawing,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = c0a7ed9c2333b592'和'System.Drawing.Common,Version = 4.0.0.1,Culture =中性,PublicKeyToken = cc7b13ffcd2ddd51'

我正在尝试这样解决:

using PixelFormat = CoreCompat.System.Drawing;

尽管它会引发错误:

  

错误CS0246找不到类型或名称空间名称'CoreCompat'(您是否缺少using指令或程序集引用?)

很明显,Visual Studio知道它在那里,因为否则就不会有冲突。

我尝试重新安装所有相关的NuGet软件包。

我将如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

CoreCompat是一个旧库,旨在提供与System.Drawing兼容的API,该API可以在Core中运行,因为最初不支持System.Drawing。从那时起,Microsoft发布了System.Drawing.Common,这是它自己与Core兼容的System.Drawing替代API。不知何故,您在项目中同时引用了这两者。

如果您的QR码库使用的是CoreCompat,则您确实应该对该项目提出问题,要求他们将相关性更新为System.Drawing.Common。或者,您可以自己进行更改并提交拉取请求。否则,或者在纠正之前,您可能需要找到其他库来使用。

依赖也可能来自其他地方。检查您自己的项目,以确保您不会将其引入。最终,您只需要在这里做一些研究,看看CoreCompat的来源并消除它。