2016-06-07 3 views
1

Я пытаюсь запустить C# Web API проект, и я получаю следующее сообщение об ошибке, когда я запускаю егоC# System.Web.Http.WebHost и NewtonSoft.Json не в состоянии использовать правильную сборку

Не удалось загрузить файл или сборку «Newtonsoft.Json» или одну из его зависимостей. Определение манифеста размещенной сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040)

Итак, я пошел в диспетчер пакетов и обновил NewtonSoft.Json, и эта ошибка решена. Однако тогда я иду и запустить проект, то я получаю следующую ошибку

Дополнительная информация: Не удалось загрузить файл или сборку «System.Web.Http.WebHost, Version = 5.0.0.0, культура = нейтральной, PublicKeyToken = 31bf3856ad364e35 'или одной из его зависимостей. Определение манифеста размещенной сборки не соответствует ссылке на сборку.

Could not load file or assembly 'System.Web.Http 4.0.0 after update from 2012 to 2013

по этой ссылке я попытался

Update-Package Microsoft.AspNet.WebApi -reinstall 

Но теперь я снова получаю первую ошибку. Кажется, я застрял в кругу и не могу понять, как его решить. Есть идеи? Похоже, System.Web.Http.WebHost использует более раннюю версию NewtonSoft.Json

+0

Перейдите на ваш web.config и обновите версии там – Sherlock

ответ

0

Попробуйте с раствором:
1. Откройте packages.config в текущем проекте.
2. Удалить строку: package id = "Newtonsoft.Json"
3. Сохранить.
4. Повторно добавить Newtonsoft.Json из NuGet. Build и Run.

+0

Все еще получайте те же ошибки. – Derked

0

Вы можете попробовать следующие действия:

Перейти к вашим пакетам папке удалить папку с Newtonsoft.Json, написанную на ней. Любой проект, который ссылается на это, будет показывать желтое восклицание над Newtonsoft.Json в ссылках. Удалите эту ссылку.

Проверьте, какая версия NewtonSoft.Json требуется из файла project.json проекта и повторно добавьте конкретную версию Newtonsoft.Json из консоли диспетчера пакетов.

+0

Когда я это сделаю, я получаю вторую ошибку. Я думаю, что Ninject ожидает, что System.Web.Http.WebHost будет Version = 5.0.0.0, но в моем webconfig это 5.2.3.0 – Derked

0

После решения первого сообщения, второе сообщение с запросом установить конкретную версию конкретного Packge,

вы можете увидеть версию пакета, clciking на NuGet менеджера пакетов:

enter image description here

или Solution Explorer > References > rigt click on the reference > Properties

enter image description here


и найти конкретную версию пакета, вы можете использовать ключевое слово **nuget PACKAGENAME** в Goolge,

.

в случае

System.Web.Http.WebHost, Version = 5.0.0.0,

Google "NuGet System.Web.Http.WebHost" и введите первый результат вас будете ввести

https://www.nuget.org/packages/Microsoft.AspNet.WebApi.WebHost/

.

и прокрутите вниз, вы найдете много старше версии пакета,

enter image description here

.

открыть ссылку 5.0.0.0,

и вы увидите команду установки:

Для установки Microsoft ASP.NET Web API 2 веб-хостинга, выполните следующую команду в диспетчере пакетов Консоль

Install-Package Microsoft.AspNet.WebApi.WebHost -Version 5.0.0

enter image description here

.

Я думаю, что проблема будет решена после установки конкретной версии пакетов, о которой вы просите.

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