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