Adicione uma referência de serviço em um projeto de subconjunto portátil
Os projetos de subconjunto portáteis permitem que os programadores do assembly .NET mantenham uma única árvore de origem e criem o sistema enquanto ainda dão suporte a várias implementações do .NET (área de trabalho, Silverlight, Windows Phone e Xbox). Os projetos de subconjunto portáteis somente fazem referência às bibliotecas portáteis, que são assemblies do .NET que podem ser usados em qualquer implementação do .NET.
Detalhes de Adicionar Referência de Serviço
Ao adicionar uma referência de serviço em um projeto de subconjunto portátil, as seguintes restrições são aplicadas:
Para XmlSerializer, somente as codificações literais são permitidas. As codificações SOAP geram um erro durante a importação.
Para os serviços que usam cenários de DataContractSerializer, um contrato de dados substituto é fornecido para garantir que os tipos reutilizados venham somente do subconjunto portátil.
Os pontos de extremidade que se baseiam em associações não têm suporte em bibliotecas portáteis (todas as associações exceto BasicHttpBinding, WSHttpBinding sem fluxo de transações, sessões confiáveis ou codificação de MTOM e associações personalizadas equivalentes) são ignorados.
Os cabeçalhos de mensagem são excluídos de todas as descrições de mensagem em todas as operações antes da importação.
Os atributos não portáteis DesignerCategoryAttribute, SerializableAttribute e TransactionFlowAttribute são removidos do código de proxy cliente gerado.
As propriedades não portáteis ProtectionLevel, SessionMode, IsInitiating, IsTerminating são removidas de ServiceContractAttribute, de OperationContractAttribute e de FaultContractAttribute.
Todas as operações de serviço são geradas como operações assíncronas no proxy do cliente.
Os construtores de cliente gerados que usam tipos não portáteis são removidos.
Uma instância CookieContainer é exposta no cliente gerado.
Um comentário é inserido na parte superior do arquivo identificando o assembly e a versão do gerador de código:
// This code was auto-generated by Microsoft.VisualStudio.Portable.AddServiceReference, version 1.0.0.0
A interface do ISerializable não tem suporte.
As associações de Net.Tcp e PollingDuplex não têm suporte
O DataContractSerializer sempre será usado para falhas.
O IsWrapped não tem suporte em projetos de subconjunto portáteis.