2014-09-01 1 views
3

PCL 프로젝트를 비즈니스 계층으로 사용하는 Windows Phone 8 프로젝트에서 작업하고 있습니다. 비즈니스 계층 프로젝트는 Android (Xamarin) 프로젝트 솔루션과 공유되며 WP 8 프로젝트에서는 사용할 수 없다는 것을 깨달은 HttpClient를 사용합니다.app.config의 "bindingRedirect"를 사용하여 System.Net.Http 참조를 휴대용 버전으로 리디렉션

블로그에 따르면 here에 따르면 우리는 휴대 할 수있는 System.Net.Http v1.5.0.0 dll의 휴대용 버전을 사용하기로 결정했습니다.이 버전은 WP8과 Android 솔루션 모두에서 잘 컴파일됩니다. 그러나 유형 'System.IO.FileLoadException'의 예외가 Insight.Business.DLL에서 발생했지만 사용자 코드

추가 정보 처리되지

WP와 프로젝트에서 런타임에 예외를 제공합니다 : 파일 또는 어셈블리를로드 할 수 없습니다. 'System.Net.Http, Version = 2.0.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a'또는 해당 종속성 중 하나입니다. 어셈블리의 매니페스트 정의에 일치하는 어셈블리 참조가 일치하지 않습니다. (HRESULT에서 예외 : 0x80131040)

PCL이 프로젝트에서 나는 또한 System.Net.Http의 DLL을에 의존 System.Net.Http.FormattingNewtonsoft.Json DLL을 사용했습니다, 그리고 나는이 예외를 일으키는 생각합니다. 나는

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
     <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-1.5.0.0" newVersion="1.5.0.0" /> 
     </dependentAssembly> 
    </assemblyBinding> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
     <assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" /> 
     </dependentAssembly> 
    </assemblyBinding> 
    </runtime> 
</configuration> 

을의 app.config 사용하여 참조를 재 시도하지만 난 여전히이 문제를 해결할 수 없습니다. 도와주세요.

답변

0

PCL 또는 Windows Phone 앱에서 바인딩 리디렉션이 필요하지 않습니다.

PCL 프로젝트 외에도 Windows Phone app 프로젝트에 Microsoft.Net.Http NuGet 패키지를 설치 했습니까?

+0

예, 있습니다. 문제가 발생할 수 있습니까 ?? –

+0

@ SamyS.Rathore 네, 두 프로젝트 모두에서 NuGet 패키지를 설치해야합니다. PCL 및 Windows Phone 앱에서 바인딩 리디렉션을 모두 삭제하십시오. –

+0

그것이 내가 원래 한 일 이었지만 작동하지 않았습니다. System.Net.Http.Formatting과'Newtonsoft.Json'의'System.Net.Http'에 대한 의존성이 예외를 발생시키지 않는다면 알려 주시면됩니다. ? –