У меня немного странная проблема.
Я разработал приложение с MVC 4 и новым веб-API, и оно отлично работает локально. Я установил MVC4 на сервер и развернул приложение. Теперь я получаю следующую ошибку:
Не удалось загрузить файл или сборку System.Net.Http, Version = 2.0.0.0, Culture = нейтральный, PublicKeyToken = 31bf3856ad364e35 или одну из их зависимостей. Определение манифеста обнаруженной сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040)
Описание: необработанное исключение произошло во время выполнения текущего веб-запроса. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и ее происхождении.
Как ни странно, версия System.Net.Http, которая есть у меня локально либо в папке моего пакета, либо в папке ASP.NET MVC 4 \ Assemblies, - 1.0.0.0. Я действительно удалил ссылку на System.Net.Http из своего проекта, но все равно получаю то же сообщение. Я немного смущен тем, откуда он берет ссылку на 2.0.0.0 и почему он будет работать локально, а не на сервере.
Посмотрим на зависимости nuget:
Базовые библиотеки ASP.NET WEb API (бета) зависят от System.Net.Http.Formatting.
И System.Net.Http.Formatting зависит от System.Net.Http.
Думаю, вот откуда это взялось. Но у меня установлена версия 2.0.20126.16343 этого пакета, просто у dll внутри версия 1.0.0.0
Я что-то упускаю?
ОБНОВИТЬ:
Это вспомогательное приложение другого приложения ASP.NET, но другое все еще основано на WebForms. Итак, что-то не так. Но если я сделаю чистку в разделе сборки в web.config, если даже не найдет само приложение.