Программа ссылается на другую версию Newtonsoft.JSON, хотя загружена другая версия - PullRequest
0 голосов
/ 26 октября 2018

Я работал над проектом для самостоятельного размещения проекта Web 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, но все равно появляется следующая ошибка

"Не удалось загрузить файл или сборку" Newtonsoft.Json, версия = 6.0.0.0, Culture = нейтральный, PublicKeyToken = 30ad4fe6b2a6aeed 'или одна из его> зависимостей. Определение манифеста> обнаруженной сборки> не соответствует ссылке на сборку. ( Исключение из> HRESULT: 0x80131040) /nSystem.IO.FileLoadException "

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

"culture =" нейтральный "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, они имеют правильные перенаправления сборки а также правильный пакет. Так что я думаю, что есть другое место, где оно не обновляется. Кто-нибудь может помочь мне в этом?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...