【问题标题】:Nuget reference error, cannot find namespaceNuget 引用错误,找不到命名空间
【发布时间】:2019-03-29 15:49:07
【问题描述】:

我已安装运行 som 代码以创建 QR 码所需的 NuGet 包。包与system.drawing.common冲突

错误 CS0433 类型 'PixelFormat' 存在于 '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 包。

我将如何解决这个问题?

【问题讨论】:

  • CoreCompat.System.Drawing 是一个程序集,而不是命名空间。你应该删除它。

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


【解决方案1】:

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

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

也有可能依赖来自其他地方。检查你自己的项目以确保你没有引入它。最终,你只需要在这里做一些研究,看看 CoreCompat 的来源并摆脱它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-15
    • 2017-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-03
    • 1970-01-01
    相关资源
    最近更新 更多