Проблема
После установки пакета Microsoft ASP.NET Web API OData package 5.0.0-rc1, я получаю следующее исключение:
Не удалось загрузить файл или сборку "System.Web.Http, Version = 4.0.0.0, Культура = нейтральная, 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, Культура = нейтральная, 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()' to поле доступа 'System.Web.Http.GlobalConfiguration.CS $< > 9__CachedAnonymousMethodDelegate2' не удалось.
Я полагаю, что v 4.0.0.0 действительно нужно использовать основным движком Web Api.
Связанные вопросы
Ошибка анализа кода Не удалось загрузить файл или сборку "System.Net.Http, Version = 2.0.0.0 в веб-интерфейсе MVC4" Не удалось загрузить файл или сборку 'System.Net.Http, Version = 2.0.0.0 в веб-API MVC4