Программа относится к другой версии newtonsoft.json, хотя загружена другая версия

Я работал над проектом по самостоятельному размещению проекта веб-API. Есть два пакета 1) Microsoft.AspNet.WebAPi.SelfHost 2) Microsoft.AspNet.WebApi. Я столкнулся с проблемой, когда две разные версии NewtonSoft.Json были установлены указанными выше пакетами, и это показало предупреждение во время компиляции, а также исключение во время выполнения. Если я установлю Microsoft.AspNet.WebAPi.SelfHost до Microsoft.AspNet.WebApi, то Newtonsoft.Json версии 6.0.0.0. устанавливается первым, а версия 11.0.0.0 - более поздним, что выдает ошибку. но если я установлю Microsoft.AspNet.WebApi, тогда будет установлена ​​версия 11.0.0.0 и Microsoft.AspNet.WebAPi.SelfHost не установит Newtonsoft.Json, но я все равно получаю следующую ошибку

"Could not load file or assembly 'Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' or one of its >dependencies. The located assembly's manifest definition >does not match the assembly reference. (Exception from >HRESULT: 0x80131040)/nSystem.IO.FileLoadException"

хотя следующая запись в моей ссылке web.config

"culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" bindingRedirect oldVersion="0.0.0.0-11.0.0.0" newVersion="11.0.0.0" />"

Я действительно не понимаю, почему это относится к версии 6.0.0.0, когда установлена ​​более новая версия. И если мне нужны обе версии, как мне ссылаться на каждую, не вызывая проблем с компилятором.

Обновлено: Еще одна вещь, о которой следует упомянуть, заключается в том, что это ошибка только после публикации файла, но если я запускаю его в режиме выпуска, проблем не возникает.

Я пробовал это после создания новой папки с нуля.

Обновлено: я также пробовал проверить GAC. Newtonsoft.JSON недоступен в GAC. Может ли кто-нибудь сказать, как проверить файл манифеста / конфигурации стороннего пакета, такого как Microsoft.AspNet.WebAPi.SelfHost

Обновлено: я также проверил решения из связанного потока, но это не помогло.

Обновлено: я только что редактировал Microsoft.Owin с версии 2.0.2 до версии 4, но, как ни странно, после публикации и запуска он все еще относится к версии 2. Я проверил web.config и package.config, у них есть правильные перенаправления сборки, а также правильный пакет. Так что я предполагаю, что есть другое место, где он не обновляется. Кто-нибудь может мне в этом помочь?

Возможный дубликат stackoverflow.com/questions/22507189/…

TheGeneral 26.10.2018 08:01

Иногда я получаю это, когда другие NuGet ссылаются на конкретную версию Newtonsoft. Вы проверяли зависимости других пакетов? Другой способ - это часто удалять папки bin и obj на диске, а затем перестраивать их.

Alexander Schmidt 26.10.2018 08:39

Пробовал все, что написано в посте выше:

Prajat Padhi 26.10.2018 09:46

Пробовал все, что описано в сообщении выше: i) Перенаправление привязки правильное, как я уже упоминал выше. ii) Тег конфигурации не имеет пространства имен iii) Также проверены регистры букв, проблем не обнаружено

Prajat Padhi 26.10.2018 11:00

Был еще один комментарий, в котором упоминалось, чтобы проверить, ссылается ли GAC на dll. Как это проверить?

Prajat Padhi 26.10.2018 11:17
0
6
244
0

Другие вопросы по теме