이식 가능한 하위 집합 프로젝트를 사용하면 .NET 어셈블리 프로그래머가 여러 .NET 구현(데스크톱, Silverlight, Windows Phone 및 Xbox)을 지원하면서 단일 소스 트리를 유지하고 시스템을 빌드할 수 있습니다. 이식 가능한 하위 집합 프로젝트는 모든 .NET 구현에서 사용할 수 있는 .NET 어셈블리인 이식 가능한 라이브러리만 참조합니다.
서비스 참조 세부 정보 추가
이식 가능한 하위 집합 프로젝트에서 서비스 참조를 추가할 때 다음 제한 사항이 적용됩니다.
의 경우 XmlSerializer리터럴 인코딩만 허용됩니다. SOAP 인코딩은 가져오는 동안 오류를 생성합니다.
시나리오를 사용하는 DataContractSerializer 서비스의 경우 재사용된 형식이 이식 가능한 하위 집합에서만 제공되도록 데이터 계약 서로게이트가 제공됩니다.
이식 가능한 라이브러리에서 지원되지 않는 바인딩을 사용하는 엔드포인트(트랜잭션 흐름, 신뢰할 수 있는 세션 또는 MTOM 인코딩 및 동등한 사용자 지정 바인딩을 제외한 BasicHttpBindingWSHttpBinding 모든 바인딩)는 무시됩니다.
가져오기 전에 모든 작업의 모든 메시지 설명에서 메시지 헤더가 삭제됩니다.
이식할 수 없는 특성DesignerCategoryAttributeSerializableAttribute이며 TransactionFlowAttribute 생성된 클라이언트 프록시 코드에서 제거됩니다.
이식할 수 없는 속성 ProtectionLevel, SessionMode, IsInitiating, IsTerminating이 ServiceContractAttribute, OperationContractAttribute, FaultContractAttribute에서 제거되었습니다.
모든 서비스 작업은 클라이언트 프록시에서 비동기 작업으로 생성됩니다.
이식 가능하지 않은 형식을 사용하는 생성된 클라이언트 생성자가 제거됩니다.
CookieContainer 인스턴스는 생성된 클라이언트에 노출됩니다.
코드 생성기의 어셈블리 및 버전을 식별하는 주석이 파일 맨 위에 삽입됩니다.
// This code was auto-generated by Microsoft.VisualStudio.Portable.AddServiceReference, version 1.0.0.0인터페이스는 ISerializable 지원되지 않습니다.
Net.Tcp 및 PollingDuplex 바인딩은 지원되지 않습니다.
오류에는 DataContractSerializer 항상 사용됩니다.
IsWrapped 는 이식 가능한 하위 집합 프로젝트에서 지원되지 않습니다.