Проблема
После установки предварительной версии Microsoft ASP.NET Web API OData package 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 class (когда я использую версию 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 в MVC4 Web API