Ответ 1
В консоли диспетчера пакетов
Install-Package Microsoft.AspNet.WebApi.Core -version 5.2.3
Я только что создал проект MVC5 и добавил несколько пакетов из nuget, но затем, когда я скомпилировал проект, я получил эту ошибку. Кажется, что один из пакетов действительно зависит от system.web.http версии 5.2.3.0, которого я не смог найти нигде. Мне просто интересно, как получить последнюю версию system.web.http?
Error 2 Assembly 'System.Web.Http.WebHost, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' uses 'System.Web.Http, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' which has a higher version than referenced assembly 'System.Web.Http, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
d:\Backup 2014-12-25\Website-Projects\www.ptsol.com.au\packages\Microsoft.AspNet.WebApi.WebHost.5.2.3\lib\net45\System.Web.Http.WebHost.dll
В консоли диспетчера пакетов
Install-Package Microsoft.AspNet.WebApi.Core -version 5.2.3
Один из способов исправить это путем изменения перенаправления сборки в файле web.config.
Измените следующее:
<dependentAssembly>
<assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
</dependentAssembly>
к
<dependentAssembly>
<assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="4.0.0.0" />
</dependentAssembly>
Таким образом, атрибут oldVersion должен измениться с "...- 4.0.0.0" на "...- 5.2.3.0".
Установочный пакет Microsoft.AspNet.WebApi.Core -version 5.2.3
Затем в проекте Add Reference → Browse. Нажмите кнопку обзора и перейдите к C:\Users\UserName\Documents\Visual Studio 2015\Projects\ProjectName\packages\Microsoft.AspNet.Mvc.5.2.3\lib\net45 и добавьте необходимый .dll файл
Я сделал Install-Package Microsoft.AspNet.WebApi.Core -version 5.2.3
, но он все еще не работал. Затем заглянул в папку моего проекта bin и увидел, что у него все еще был старый файл System.Web.Mvc.
Итак, я вручную скопировал новый файл из пакета в папку bin. Затем я снова начал работать.
Пакеты, которые вы установили, ввели зависимости от dll версии 5.2.3.0 как пользователь Bracher, показанный выше. Microsoft.AspNet.WebApi.Cors является примером пакета. Путь, который я принимаю, - обновить proc проекта MVC:
Install-Package Microsoft.AspNet.Mvc -Version 5.2.3
Деинсталляция и повторная установка пакета NuGet работала для меня.
Выполните это в консоли диспетчера пакетов:
UnInstall-Package Microsoft.AspNet.WebApi.Core -version 5.2.3
Install-Package Microsoft.AspNet.WebApi.Core -version 5.2.3