2016-06-01 3 views
0

Owin Self-host를 사용하여 WebAPI 서비스를 호스팅 할 새 서비스 패브릭 응용 프로그램을 만들었습니다.Azure 서비스 패브릭 및 Newtonsoft.Json 컴플라이언스 문제

나는 최신 버전으로 서비스 프로젝트에 대한 모든 nuget 패키지를 업데이트 지금 나는 다음과 같은 오류 얻을 응용 프로그램을 시작하려고 할 때

:

Could not load file or assembly 'Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

바인딩 리디렉션에 대한 App.config에 올바르게 설정되어 Newtonsoft.Json의 최신 버전으로 리디렉션하십시오.

 <dependentAssembly> 
     <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0" /> 
     </dependentAssembly> 

나는 최신 버전으로 업데이트해야하는 이유는 Owin 및 Newtonsoft.Json의 새 버전이 다른 종속성입니다.

Owin과 함께 Service Fabric의 알려진 제한 사항이 있습니까?

+0

Azure 서비스 패브릭에서는 Newtonsoft를 제시하지 않아도됩니다. OWIN 미들웨어 내부의 어딘가에서 사용하고 계신지 확인하십시오. 어셈블리를로드 할 수없는 프로젝트의 참조를 열고 Newtonsoft.Json을 찾으면 특정 버전 속성으로 어떤 값이 설정됩니까? – cassandrad

답변

0

프로젝트 중 하나에서 더 낮은 버전의 Newtonsoft.Json 라이브러리를 사용하고 있습니다. 모든 솔루션 (전체 솔루션 내부)에서 올바른 버전을 유지하려면 솔루션 탐색기 윈도우에서 솔루션을 마우스 오른쪽 단추로 클릭하고 Manage Nuget packages (Nuget 패키지 관리)를 선택하십시오. 솔루션 범위에 있으므로 다른 일반적인 탭 (찾아보기, 설치, 업데이트) 옆에 "통합"탭이 나타납니다. Newtonsoft.Json 패키지를 선택하면 각 프로젝트에 설치된 버전이 표시됩니다. 각 프로젝트가 동일한 버전을 사용하는지 확인하십시오.

+0

모든 프로젝트는 Newtonsoft.Json과 동일한 최신 버전을 사용했습니다. 그래서 나는 Consolidate와 함께 성공을 거두지 못했습니다. 내 nuget 패키지 폴더의 모든 내용을 제거하고 모든 패키지를 다시 복원하여 문제를 해결했습니다. – honk

관련 문제