문제
Microsoft ASP.NET Web API OData 패키지 5.0.0-rc1 시험판을 설치 한 후 다음 예외가 발생합니다.
파일 또는 어셈블리 'System.Web.Http, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35'또는 해당 종속성 중 하나를로드 할 수 없습니다. 찾은 어셈블리의 매니페스트 정의가 어셈블리 참조와 일치하지 않습니다. (HRESULT에서 예외 : 0x80131040)
내 MVC 4 프로젝트는 아주 새롭고 정말 작습니다. .NET Framework 4.5를 대상으로합니다.
Delta 클래스를 사용하여 PATCH 를 구현 하려면이 너겟 패키지 가 필요합니다 (패키지 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 = neutral, PublicKeyToken = 31bf3856ad364e35, processorArchitecture = MSIL 어셈블리가 포함되어 있습니다.
에서 비주얼 스튜디오 , 내가 어셈블리를 탐색 할 때, System.Web.Http의 주어진 버전입니다 4.0.0.0 (왜?)
에서 내 프로젝트 , System.Web.Http에 대한 참조
- 버전 5.0.0.0 있음
- 패키지의 \ lib \ net45 \ 폴더를 가리 킵니다.
- CopyLocal = true 있음
내가 시도한 것
Web.config에서 리디렉션 v 4.0.0.0을 5.0.0.0으로 바인딩하려고했습니다.
<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 엔진에서 실제로 사용해야한다고 생각합니다.
연결된 질문
코드 분석 오류 MVC4 Web API에서 'System.Net.Http, 버전 = 2.0.0.0'파일 또는 어셈블리를로드 할 수 없습니다. MVC4 Web API에서 'System.Net.Http, 버전 = 2.0.0.0'파일 또는 어셈블리를로드 할 수 없습니다.