0

Visual Studio 2012 및 안정 버전의 Xamarin과 함께 MVVMCross 및 Mono를 사용하여 PCL 코어 라이브러리를 빌드하고 있습니다. 다음 컴파일 오류가 있습니다.PC.net 및 MVVMCross의 System.net에 대한 참조

오류 3 'System.Net.WebHeaderCollection가'추가 '에 대한 정의와 유형'System.Net.WebHeaderCollection '의 첫 번째 인수를 받아들이는없는 확장 메서드'추가 '를 포함하지 않는 볼 수 있습니다 (당신입니다 using 지시문 또는 어셈블리 참조가)

시도가 그렇게 할 때 :

string address = "http://www.test.com/; 

      HttpWebRequest request = WebRequest.Create(address) as HttpWebRequest; 
      request.Method = "GET"; 
      request.Accept = "application/json"; 
      request.Headers.Add(HttpRequestHeader.Cookie, "customcookie"); 

HttpWebRequest를 잘 참조됩니다.

N.B. 동일한 코드가 Mac의 Xamarin Studio에서 작동합니다.

답변

3

스택 PCL System.Net휴대용입니다. 이는 완전한 기능이 아님을 의미합니다.

내가 그 당신을 위해 충분하지 만약 당신이 RequestCookieCollection를 설정할 수 있습니다 당신이 다음 Response

Cookies를 검사 할 수 있다고 생각 PCL 닷넷 스택 쿠키

, 당신은해야합니다 어떤 종류의 '주입'기술을 사용하여 각 플랫폼에서 원하는 기능을 구현하십시오. 당신은 사용할 수 plugins in mvvmcross


나는 당신이 누락 될 수 있습니다 한 가지가 현재 제대로 PCLs을 구축하지 않는 자 마린 것을 생각 -이 변화하는 것입니다,하지만 지금 오늘 자 마린은 전체 monotouch 또는 monodroid 스택에 대한 PCLs를 구축 . 결과적으로 xamarin은 pcl 기능의 가용성을 잘못보고 할 수 있으며 xamarin을 기반으로하는 PCL은 확실히 이식 할 수 없습니다. http://slodge.blogspot.co.uk/2013/01/almost-portable-binaries.html

+2

내 요청에 포함 된 쿠키입니다. 나는 응답에서 읽지 않는다 ... 나는 MVVMCross에서 네트워크 플러그인으로 어떤 일을 시도했지만 작동하지 않았다 ... Mac에서 Xamarin Studio의 동일한 코드는 system.net 라이브러리를 연결하는 데 적합하다. –

+0

Stuart가 언급 한 것처럼 WebHeaderCollection의 휴대용 버전에는 Add 메서드가 없습니다. item [] 연산자 (http://msdn.microsoft.com/en-us/library/0hb8kfxw.aspx)가 있으므로 대신이 연산자를 사용할 수 있습니다. 일반적으로 PCL에서 누락 된 회원은 타겟팅하는 프로필 중 하나에서 지원되지 않기 때문입니다. CookieContainer도 작동합니다. – TheESJ

+0

동일한 코드가 Xamarin과 Mac에서 작동하는 방식을 설명해 주시겠습니까? 프로파일은 다르지만 라이브러리는 동일해야합니다 ... –

0

최신 mvvmcross와 Xamarin이 있습니다. request.CookieContainer를 설정하려고하면 예외가 발생합니다. Xamarin bugzilla herehere

관련 문제