Тип 'JsonConvert' существует в обоих 'Newtonsoft. Json - PullRequest
0 голосов
/ 13 апреля 2020

Я работаю над проектом, в котором мне нужны также Microsoft azure SDK и пакет Autodesk NuGet, проблема в том, что при установке Autodesk forge Nuget я получаю сообщение об ошибке «Тип« JsonConvert »существует в обоих 'Newtonsoft. Json'. Когда я проверил браузер ссылочных объектов, я обнаружил, что есть 2 версии Newtonsoft, одна из этих 6.0 относится к Microsoft azure sdk.

Я пытался удалить более старую версию из .csproj, но не нашел.

enter image description here

ниже показан экран браузера объектов

enter image description here

ошибка Я получение

Тип 'JsonConvert' существует в обоих 'Newtonsoft. Json, версия = 6.0.0.0, культура = нейтральная, PublicKeyToken = 30ad4fe6b2a6aeed' и 'Newtonsoft. Json, версия = 11.0.0.0, Культура = нейтральный, PublicKeyToken = 30ad4fe6b2a6aeed '

Любое предложение, чтобы решить его, я пытался проверить зависимости обоих пакетов, но для одного нужна версия Newtonsoft больше 10, а другие по-прежнему относятся только 6.0

Редактировать: Получил решение, добавив сюда то, что я упоминал

1 Ответ

1 голос
/ 13 апреля 2020

Эту ситуацию можно решить с помощью псевдонима для одной (или обеих) конфликтующих сборок.

Здесь был дан аналогичный вопрос: Конфликт имен сборок на внешних зависимостях .

Необходимо выполнить два шага:

  1. Присвойте сборке псевдоним (выбрав Свойства в браузере объектов)
  2. Используйте ключевое слово extern alias <alias-name>; в вашем коде

Пример приведен в вышеупомянутом подобном вопросе.

Это также объясняется в документации Microsoft: extern alias . Он вводит параллельное глобальное пространство имен.

...