Как разрешить этот конфликт двух существующих JSON.net?

Я обновил json.net во всех проектах в своем решении и после получения этой ошибки:

Тип "Newtonsoft.Json.JsonConvert" существует в обоих '\ packages\Newtonsoft.Json.6.0.1\lib\net45\Newtonsoft.Json.dll' и 'c:\Program Files (x86)\Microsoft Visual Studio 12,0\Смесь\Newtonsoft.Json.dll

Почему он пытается загрузить json.net из папки Blend и как мне обойти эту проблему?

Спасибо.

Ответ 1

В моем случае проблема заключалась в том, что в моем проекте было две ссылки на две разные версии Newtonsoft.Json.dll. Это не было очевидно, если посмотреть на ссылки в представлении дерева решений: вам нужно изучить файл csproj.

Чтобы исправить это:

  • щелкните правой кнопкой мыши проект в Visual Studio и выберите "Выгрузить проект"
  • найдите файл MSBuild для ссылок на Newtonsoft.Json
  • удалить ссылку в старой версии библиотеки
  • щелкните правой кнопкой мыши проект и перезагрузите его.

Ответ 2

В моем случае я просто использовал полное имя сборки:

var obj = Newtonsoft.Json.JsonConvert...

(VS Community 2017 версия 15.7.5)

Ответ 3

В моем случае у меня есть дубликат, но он говорил об ошибке 6 в проекте после его выгрузки и удаления всех дубликатов, но последний из них решил проблему при перезагрузке.

Спасибо