2014-02-07 5 views
7

Я обновил Json.NET во всех проектах, в моем решении, и после того, как я получаю эту ошибку:Как разрешить этот конфликт двух существующих JSON.net?

The type 'Newtonsoft.Json.JsonConvert' exists in both '\packages\Newtonsoft.Json.6.0.1\lib\net45\Newtonsoft.Json.dll' and 'c:\Program Files (x86)\Microsoft Visual Studio 12.0\Blend\Newtonsoft.Json.dll

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

Спасибо.

+1

Удалить дублирующиеся ссылки. – SLaks

+0

@SLaks Он упоминается только один раз в моем проекте. Вы предлагаете мне удалить его из одного места в файловой системе? – Kyle

+0

Нет. Где вы получаете эту ошибку? – SLaks

ответ

11

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

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

  1. правой кнопкой мыши проект в Visual Studio и выберите Unload Project
  2. поиск файла MSBuild для ссылок на Newtonsoft.Json
  3. исключить ссылку на старую версию библиотека
  4. щелкните правой кнопкой мыши проект и перезагрузите его.
+0

У меня есть сторонняя SDK DLL, которая вызывает эту ошибку в моем решении сейчас. Он использует гораздо более старую версию Newtonsoft.Json.JsonConvert - как мне это обработать? Мой код уже давно создан и имеет много ссылок на это, чтобы заставить мой код использовать более старую версию, был бы ужасен для меня. –

+0

В частности: Тип «JsonConvert» существует как в «CSSNWebServiceSDK», «Version = 1.0.6005.12454», «Culture = neutral», «PublicKeyToken = 21547a501d0bdb4b» и «Newtonsoft.Json, Version = 8.0.0.0, Culture = neutral, PublicKeyToken = 30ad4fe6b2a6aeed» - к сожалению У меня есть только одна ссылка на newtonsoft в моем csproj, и я не могу удалить другую DLL :( –

Смежные вопросы