Ошибка ссылки Nuget, не удается найти пространство имен - PullRequest
0 голосов
/ 29 марта 2019

Я установил NuGet-пакет, необходимый для запуска сом-кода для создания QR-кодов. Пакет конфликтует с system.drawing.common

Ошибка CS0433 Тип «PixelFormat» существует в «CoreCompat.System.Drawing, версия = 1.0.0.0, Culture = нейтральный, PublicKeyToken = c0a7ed9c2333b592» и «System.Drawing.Common, версия = 4.0.0.1, Culture = нейтральный, PublicKeyToken = cc7b13ffcd2ddd51 '

Я пытаюсь решить это так:

using PixelFormat = CoreCompat.System.Drawing;

Несмотря на то, что выдает ошибку:

Ошибка CS0246 Не удалось найти тип или имя пространства имен 'CoreCompat' (отсутствует директива using или ссылка на сборку?)

Очевидно, что Visual Studio знает, что это так или иначе, так как в противном случае не было бы конфликта.

Я попытался переустановить все связанные NuGet-пакеты.

Как мне решить эту проблему?

1 Ответ

1 голос
/ 29 марта 2019

CoreCompat - это старая библиотека, созданная для обеспечения System.Drawing совместимого API, который будет работать в Core, поскольку изначально System.Drawing не поддерживалось.С тех пор Microsoft выпустила System.Drawing.Common, который является собственным совместимым с Core 100 * API замены.Каким-то образом у вас есть ссылки на оба в вашем проекте.

Если ваша библиотека QR-кодов использует CoreCompat, вам следует действительно подать проблему с этим проектом, чтобы попросить их обновить зависимость до System.Drawing.Common.Или вы можете внести изменения самостоятельно и отправить запрос на извлечение.В противном случае, или до тех пор, пока это не будет исправлено, вам может понадобиться найти другую библиотеку для использования.

Возможно, зависимость также исходит откуда-то еще.Проверьте свои собственные проекты, чтобы убедиться, что вы не вносите это. В конечном счете, вам просто нужно провести небольшое исследование здесь и увидеть, откуда исходит CoreCompat, и избавиться от этого.

...