Проблема
После установки пререлиза Microsoft ASP.NET Web API OData 5.0.0-rc1 я получаю следующее исключение:
Не удалось загрузить файл или сборку System.Web.Http, Version = 4.0.0.0, Culture = нейтральный, PublicKeyToken = 31bf3856ad364e35 или одну из ее зависимостей. Определение манифеста обнаруженной сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040)
Мой проект MVC 4 совершенно новый и очень маленький, ничего особенного в нем нет. Я нацелен на .NET framework 4.5
Мне нужен этот пакет nuget для реализации PATCH с использованием класса Delta (когда я использую версию 4.0.0.0 пакета, класс Delta не работает).
Как я могу это исправить?
Мои версии System.Web.Http
В GAC у меня есть версия 5.0.0.0 System.Web.Http
gacutil -l System.Web.Http Глобальный кэш сборок содержит следующие сборки: System.Web.Http, Version = 5.0.0.0, Culture = нейтральный, PublicKeyToken = 31bf3856ad364e35, processorArchitecture = MSIL
В Visual Studio , когда я просматриваю сборки, заданная версия System.Web.Http - 4.0.0.0 (Почему?)
В моем проекте ссылка на System.Web.Http
- Имеет версию 5.0.0.0
- Указывает на папку \ lib \ net45 \ пакета
- Имеет CopyLocal = true
Вещи, которые я пробовал
Я пытался привязать redirect v 4.0.0.0 к 5.0.0.0 в Web.config
<dependentAssembly>
<assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="4.0.0.0-4.0.0.0" newVersion="5.0.0.0" />
</dependentAssembly>
Но это дает мне другое исключение:
Попытка методом System.Web.Http.GlobalConfiguration..cctor () получить доступ к полю System.Web.Http.GlobalConfiguration.CS $ <> 9__CachedAnonymousMethodDelegate2 не удалась.
Я думаю, что версия 4.0.0.0 действительно должна использоваться ядром Web Api.
Связанные вопросы
Ошибка анализа кода. Не удалось загрузить файл или сборку System.Net.Http, Version = 2.0.0.0 в веб-API MVC4. Не удалось загрузить файл или сборку System.Net.Http, Version = 2.0.0.0 в веб-API MVC4.