Проблема
Після встановлення попереднього випуску пакета OData 5.0.0-rc1 Microsoft ASP.NET Web API я закінчую наступним винятком:
Не вдалося завантажити файл або збірку 'System.Web.Http, Версія = 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, Версія = 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
Те, що я пробував
Я намагався прив'язати переспрямування 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' не вдалася.
Я думаю, що v 4.0.0.0 дійсно повинен бути використаний основним механізмом Web Api.
Пов’язані запитання
Помилка аналізу коду Не вдалося завантажити файл або збірку 'System.Net.Http, Версія = 2.0.0.0 в MVC4 Web API Не вдалося завантажити файл або збірку' System.Net.Http, Версія = 2.0.0.0 в MVC4 Web API