2.1

2014-03-06 2 views
5

내가 2.0에서 2.1로 내 웹 API를 업데이트하기 위해 노력하고있어 웹 API를 업데이트 할 수 없습니다 그러나 나는 다음과 같은 오류2.1

파일 또는 어셈블리를로드 할 수 없습니다

'System.Web.Http 버전을 가지고 = 5.0.0.0, 문화 = 중립, PublicKeyToken = 31bf3856ad364e35 '또는 그 종속성 중 하나. 찾은 어셈블리의 매니페스트 정의가 어셈블리 참조와 일치하지 않습니다. (HRESULT에서 예외 : 0x80131040)

이 줄을 내가 업데이트 후 API를 실행 global.asax.cs

GlobalConfiguration.Configure(WebApiConfig.Register);

에서.

하지만 내가 명령 줄

Install-Package Microsoft.AspNet.WebApi -Version 5.1.0 

으로도 시도

<Reference Include="System.Web.Http, Version=5.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> 

csprog에 5.1.0을 참조 있기 때문에 그것은 정상과 내가 같은 문제가 있지만, 때때로 나에게 오류를 제공 일부 플러그인은에 따라 달라집니다 Microsoft.AspNet.WebApi.core 5.0.0.

하지만 왜 플러그인의 종속성은 Microsoft.AspNet.WebApi.core >= 5.0.0. 0123입니다 때문에 이해가 안 돼요이므로 5.1.0이 작동합니다.

나는 업데이트하고

Install-Package -Ignoredependencies Microsoft.AspNet.WebApi -Version 5.1.0 

와 의존성을 무시하려고 노력하고 더 이상 오류가없는 있지만 API는 500

어떤 생각을 오류를 반환하는 이유 '웹 API에 업데이트 2.1 아무튼 일하니?

답변

4

어셈블리 바인딩 리디렉션을 사용합니까?

<runtime> 
     <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
      <dependentAssembly> 
       <assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" /> 
       <bindingRedirect oldVersion="0.0.0.0-5.1.0.0" newVersion="5.1.0.0" /> 
      </dependentAssembly> 
    </assemblyBinding> 
</runtime> 
+0

이제 작동합니다! 패키지 관리자 콘솔이이를 추가해야합니까? 고맙습니다. – Marc

+1

예, 설치 powershell 스크립트가이를 추가하거나 업데이트해야합니다. 내부적으로 어딘가에서 오류가 발생했을 수 있습니까? 빈 프로젝트에서 재현 해보고, 그렇다면 버그 보고서를 프로젝트 github에서 환영합니다. – abatishchev