Informações
O tópico solicitado está sendo mostrado abaixo. No entanto, este tópico não está incluído nesta biblioteca.

Desenvolvimento entre plataformas com a Biblioteca de Classes Portátil

O tipo de projeto de Biblioteca de Classes Portátil .NET Framework no Visual Studio ajuda a criar de maneira rápida e fácil aplicativos e bibliotecas de plataforma cruzada para plataformas Microsoft.

Bibliotecas de classes portáteis podem ajudar a reduzir o tempo e os custos com desenvolvimento e testes de código. Use esse tipo de projeto para gravar e criar assemblies .NET Framework portáteis e fazer referência a esses assemblies de aplicativos que tenham como destino várias plataformas, como Windows e Windows Phone.

Mesmo depois de criar um projeto de Biblioteca de Classes Portátil no Visual Studio e começar a desenvolvê-lo, é possível alterar as plataformas de destino. O Visual Studio compilará a biblioteca com os novos assemblies, o que ajuda a identificar as alterações necessárias ao código.

Este artigo discute o desenvolvimento de aplicativo no Visual Studio, mas a Microsoft também fornece assemblies de referência da Biblioteca de Classes Portátil que podem ser usados para desenvolver aplicativos e bibliotecas com outras ferramentas, como Xamarin. É possível usar esses aplicativos e bibliotecas em qualquer tempo de execução baseado em .NET Framework ou em plataformas que não sejam da Microsoft. Para obter mais informações sobre assemblies de referência, consulte a entrada de blog PCL (Biblioteca de Classes Portátil) agora disponível em todas as plataformas. Para baixar os assemblies, consulte Assemblies de referência da Biblioteca Portátil Microsoft .NET no Centro de Download da Microsoft. Para obter mais informações sobre como usar os assemblies com Xamarin, consulte a entrada de blog Bibliotecas PCL e .NET NuGet agora habilitadas para Xamarin.

O Visual Studio fornece modelos que ajudam a desenvolver com a Biblioteca de Classes Portátil. Dependendo da versão do Visual Studio que você está usando, os modelos e menus disponíveis podem ser diferentes dos descritos neste artigo.

Observação de cuidado Cuidado

Visual Studio 2013 Atualização 2 inclui atualizações dos modelos da Biblioteca de Classes Portátil. Se você tiver uma versão anterior do Visual Studio e do Visual Studio 2013 instalada no mesmo computador e instalar a Atualização 2, as alterações nas opções da Estrutura de Destino serão aplicadas nas duas versões do Visual Studio.

Neste tópico:

Suporte a Visual Studio
Criando um projeto de Biblioteca de Classes Portátil
Opções de destino
Alterando destinos
Recursos com suporte
Tipos e membros com suporte
Diferenças de API na Biblioteca de Classes Portátil
Usando a Biblioteca de Classes Portátil

O suporte a Visual Studio para a Biblioteca de Classes Portátil depende da versão do Visual Studio que você está usando. Em alguns casos, você terá tudo que precisa, enquanto em outros, precisará instalar itens adicionais, como mostra a tabela a seguir.

SKU do Visual Studio

Suporte para criação de uma Biblioteca de Classes Portátil

Visual Studio 2010, Professional, Premium ou Ultimate

Sim, quando instalar as Ferramentas de Biblioteca Portátil.

Versões do Visual Studio Express 2010

Não.

Visual Studio 2012 Professional, Premium ou Ultimate

Sim. Para ter suporte telefônico, instale o Windows Phone SDK 8.0.

Versões do Visual Studio Express 2012

Não.

Visual Studio 2013 Professional, Premium ou Ultimate

Sim. Para ter suporte do Windows Phone 8.1, instale o Visual Studio 2013 Atualização 2.

Visual Studio Express 2013 para Windows

Sim, quando instalar a última versão do Visual Studio Express, que inclui a Atualização 2, ou adicionar o Visual Studio 2013 Atualização 2.

Para criar uma Biblioteca de Classes Portátil, use um dos modelos fornecidos no Visual Studio. Crie um novo projeto e, na caixa de diálogo Novo projeto, em Modelos, selecione a linguagem de destino (C# ou Visual Basic), e escolha uma das plataformas que deseja definir como destino. É possível selecionar plataformas adicionais na próxima etapa.

No Visual Studio 2013 Atualização 2, é possível escolher o modelo de Biblioteca de Classes (Portátil) para a linguagem e a plataforma escolhidas para criar uma Biblioteca de Classes Portátil. Você verá esse modelo para as seguintes plataformas:

  • Aplicativos da Store

  • Windows Desktop

  • Silverlight

Se desejar criar uma biblioteca que tenha como destino o Windows Phone 8.1 e o Windows 8.1 em C#, escolha Aplicativos da Windows Store e Biblioteca de Classes (Portátil para Aplicativos Universais).

Portable Class Library for Store Apps

Esse modelo seleciona automaticamente Windows 8.1 e Windows Phone 8.1 como destinos. Se você criar uma biblioteca que tenha como destino apenas Windows Phone 8.1 ou Windows 8.1, será possível alterar as plataformas de destino e adicionar plataformas mais tarde.

Se estiver usando Visual Studio 2012 ou Visual Studio 2013 sem a Atualização 2, crie um novo projeto e escolha o modelo de Biblioteca de Classes Portátil em Visual C# ou Visual Basic.

Select Portable Library project

A caixa de diálogo Adicionar Biblioteca de Classes Portátil aparece e você pode selecionar plataformas adicionais. A caixa de diálogo exibe avisos de compatibilidade com base nos destinos selecionados.



Caixa de diálogo Adicionar Biblioteca de Classes Portátil para Visual Studio 2013 Atualização 2

Change target frameworks dialog for VS2013

Usando o Visual Studio 2012 ou o Visual Studio 2013, é possível selecionar as plataformas ao criar um projeto de Biblioteca de Classes Portátil ou usar as propriedades do projeto para modificar as plataformas de destino, depois da criação do projeto.

Ao criar um projeto de Biblioteca de Classes Portátil, é possível escolher o sistema operacional e a versão do .NET Framework a serem usados como destino. Se estiver usando o Visual Studio 2013 e tiver instalado a Atualização 2 ou posterior, poderá escolher o modelo Biblioteca de Classes (Portátil para Aplicativos Universais) para criar uma Biblioteca de Classes Portátil destinada ao Windows 8.1 e Windows Phone 8.1. A tabela a seguir mostra os destinos disponíveis dependendo da versão usada do Visual Studio.

Opções de destino

Visual Studio 2012

Visual Studio 2013

Visual Studio 2013 Atualização 2 ou posterior

.NET Framework

  • .NET Framework 4 e superiores

  • .NET Framework 4.0.3 e superiores

  • .NET Framework 4.5

  • .NET Framework 4 e superiores

  • .NET Framework 4.0.3 e superiores

  • .NET Framework 4,5 e superiores

  • .NET Framework 4.5.1

  • .NET Framework 4

  • .NET Framework 4.0.3

  • .NET Framework 4.5

  • .NET Framework 4.5.1

Windows Phone

  • Windows Phone 7 e superiores

  • Windows Phone 7.5 e superiores

  • Windows Phone 8

  • Windows Phone 8

  • Windows Phone Silverlight 8

  • Windows Phone Silverlight 8.1

No caso de suporte a Tempo de Execução do Windows e XAML, escolha:

  • Windows Phone 8,1

Windows Store

  • .NET para Aplicativos da Windows Store

  • Aplicativos da Windows Store (Windows 8) e superiores

  • Aplicativos da Windows Store (Windows 8.1)

  • Windows 8

  • Windows 8,1

Silverlight

  • Silverlight 4 e superiores

  • Silverlight 5

  • Silverlight 5

  • Silverlight 5

Xbox

  • Xbox 360

N/D

N/D

Ao escolher um modelo de Biblioteca de Classes Portátil, são selecionadas as plataformas padrão para você, mas esses padrões variarão de acordo com a versão instalada do Visual Studio e dos destinos selecionados anteriormente. É possível alterar as plataformas ao criar a Biblioteca de Classes Portátil ou depois de iniciar o desenvolvimento de uma Biblioteca de Classes Portátil.

Se você desejar alterar os destinos depois de ter criado o projeto, no Gerenciador de Soluções, abra o menu de atalho do projeto (não a solução) de Biblioteca de Classes Portátil e escolha Propriedades. Na página de propriedades de projeto, a guia Biblioteca mostra as plataformas de destino do projeto no momento.



Página de propriedade da Biblioteca de Classes Portátil para Visual Studio 2013 Atualização 2

Project properties

Para adicionar ou remover destinos, escolha o botão Alterar e marque ou desmarque as caixas de seleção apropriadas.

Ao alterar os destinos, as APIs disponíveis para desenvolver o projeto mudarão conforme a sua seleção. O Visual Studio relata os erros e avisos que podem ocorrer como resultado de alterações nos destinos.

Se você quiser avaliar a portabilidade de seus assemblies antes de fazer alterações no Visual Studio, poderá usar o .NET Portability Analyzer.

As opções de menu variarão de acordo com a versão do Visual Studio em uso.



Caixa de diálogo Alterar Destinos no Visual Studio 2012

Change target

A tabela a seguir mostra quais recursos são suportados nas plataformas e versões disponíveis. Em alguns casos, a Microsoft adicionou suporte com a liberação de um pacote NuGet, e isso foi notado. Para obter mais informações sobre pacotes NuGet para .NET Framework, consulte O .NET Framework e lançamentos fora da banda.

Característica

.NET Framework

Windows Store

Windows Phone Store

Windows Phone Silverlight

Silverlight

Xbox 360

4

4.0.3

4.5

8

8.1

8.1

7.5

8

8.1

4

5

Bibliotecas principais

Suporte assíncrono

Compactação

Anotações de dados

Palavra-chave dinâmica

HTTPClient

IQueryable

LINQ (Consulta Integrada à Linguagem)

MEF (Managed Extensibility Framework)

NCL (Network Class Library)

Serialização (contrato de dados, XML e JSON)

System.Numerics

Modelos de visualização (MVVM)

Windows Communication Foundation (WCF)

APIs do Tempo de Execução do Windows

Windows.UI.XAML

XLINQ

➊ Requer o pacote Microsoft Async
➊ Requer o pacote Microsoft Compression
➌ Requer o pacote Microsoft HTTP Client Libraries

Observação de cuidado Cuidado

Você pode encontrar erros ao consultar os pacotes Microsoft Compression e Microsoft HTTP Client Libraries de uma biblioteca portátil usada por um aplicativo Windows Phone Silverlight 8.1. Para obter mais informações, consulte Compatibilidade de plataforma e alterações interruptivas para aplicativos Windows Phone Silverlight 8.1.

Os tipos e membros disponíveis em projetos da Biblioteca de Classes Portátil são restritos por vários fatores de compatibilidade:

  • Eles devem ser compartilhados entre os destinos selecionados.

  • Eles devem se comportar de forma semelhante nesses destinos.

  • Eles não devem ser candidatos à substituição.

  • Eles devem fazer sentido em um ambiente portátil, especialmente quando os membros de suporte não são portáveis.

Por exemplo, a Biblioteca de Classes Portátil contém tipos relacionados a interface de usuário apenas quando os destinos são Windows 8.1 e Windows Phone 8.1. Além disso, você também pode encontrar limitações se usar plataformas de destino (como Xbox, .NET Framework 4 e Windows Phone 7) que foram lançadas antes da introdução da Biblioteca de Classes Portátil. O .NET Framework libera pacotes através do NuGet que aprimoram o suporte da Biblioteca de Classes Portátil para algumas dessas plataformas mais antigas. Para obter mais informações e uma lista de pacotes NuGet, consulte O .NET Framework e lançamentos fora da banda. Para obter informações sobre soluções alternativas para diferenças no suporte de plataforma para Biblioteca de Classes Portátil, consulte Abstração de plataforma com a Biblioteca de Classes Portátil.

Se houver suporte a um membro na Biblioteca de Classes Portátil e aos destinos selecionados, isso aparecerá no projeto no IntelliSense. Além disso, o ícone da Biblioteca de Classes Portátil aparece nas tabelas de membros, na Biblioteca de Classes .NET Framework, ao lado dos membros com suporte. Por exemplo, a tabela de membros a seguir mostra que a propriedade Chars na classe String tem suporte na Biblioteca de Classes Portátil:



Ícone da Biblioteca de classes portátil

Supported Member icon

Você também pode procurar na seção Informações de Versão de um tópico de referência uma nota indicando que um tipo ou membro tem suporte no projeto da Biblioteca de Classes Portátil:



Exemplo de informações de versão

Portable Library Version Information

Porém, lembre-se de que uma API pode ter suporte na Biblioteca de Classes Portátil, mas sua capacidade de usá-la dependerá dos destinos selecionados.

Para tornar os assemblies da Biblioteca de Classes Portátil compatíveis entre todas as plataformas com suporte, alguns membros foram ligeiramente alterados na Biblioteca de Classes Portátil. Para obter detalhes sobre quais membros foram modificados e como, consulte Diferenças de API na Biblioteca de Classes Portátil.

Depois de criar o projeto da Biblioteca de Classes Portátil, você simplesmente faz uma referência a ele em outros projetos. Você pode fazer referência ao projeto ou assemblies específicos que contêm as classes que deseja acessar.

Para executar um aplicativo que faça referência a um assembly da Biblioteca de Classes Portátil, deve ser instalada a versão necessária (ou uma versão posterior) das plataformas de destino no computador. O Visual Studio contém todas as estruturas necessárias, assim, você pode executar aplicativos sem alteração adicional no computador usado para desenvolver o aplicativo.

Gg597391.collapse_all(pt-br,VS.110).gifImplantando um aplicativo da Windows Store ou do Windows Phone

Ao criar um aplicativo da Windows Store ou do Windows Phone que faça referência a um assembly da Biblioteca de Classes Portátil, tudo o que é necessário para implantar o aplicativo está incluído no pacote do aplicativo e mais nenhuma etapa é necessária.

Gg597391.collapse_all(pt-br,VS.110).gifImplantando um aplicativo do .NET Framework

Ao implantar o aplicativo do .NET Framework que faça referência a um assembly da Biblioteca de Classes Portátil, você deve especificar uma dependência na versão correta do .NET Framework. Ao especificar essa dependência, você garante que a versão requisitada seja instalada com seu aplicativo. Se você almejar o .NET Framework 4 ou versão mais recente, o computador deve ter .NET Framework 4 com uma atualização, Atualização 4.0.3 para o .NET Framework 4 ou .NET Framework 4.5 instalado.

  • Para criar uma dependência com a implantação de ClickOnce: no Gerenciador de Soluções, escolha o nó de projeto para o projeto que você deseja publicar. (Esse projeto faz referência ao projeto da Biblioteca de Classes Portátil.) Na barra de menu, escolha Projeto, Propriedades e, em seguida, escolha a guia Publicar. Na página Publicar, escolha Pré-requisitos. Selecione a versão necessária do .NET Framework (ou a atualização do .NET Framework 4) como um pré-requisito.

  • Para criar uma dependência com uma configuração de projeto: em Gerenciador de Soluções, escolha o projeto de instalação. Na barra de menu, escolha Projeto, Propriedades, Pré-requisitos. Selecione a versão necessária do .NET Framework como um pré-requisito.

Para obter mais informações sobre a implementação de aplicativos do .NET Framework, consulte Guia de implantação do .NET Framework para desenvolvedores.

Gg597391.collapse_all(pt-br,VS.110).gifImplantando um aplicativo com base no Silverlight

Ao implantar um aplicativo com base no Silverlight que referencia um assembly da Biblioteca de Classes Portátil, você deve garantir que a versão do tempo de execução mínima necessária para o aplicativo corresponda à sua versão de destino. Se seu destino é o Silverlight 4, a versão deve ser a 4.0.60129.0 ou posterior. Você define a versão ao incluir <param name="minRuntimeVersion" value="4.0.60129.0" /> na página da Web que hospeda o aplicativo baseado em Silverlight da seguinte forma:

<div id="silverlightControlHost">
    <object data="data:application/x-silverlight-2," 
           type="application/x-silverlight-2" width="100%" height="100%">
    <param name="source" value="ClientBin/SilverlightApplication.xap"/>
    <param name="onError" value="onSilverlightError" />
    <param name="background" value="white" />
    <param name="minRuntimeVersion" value="4.0.60129.0" />
    <param name="autoUpgrade" value="true" />
    <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.50826.0" 
             style="text-decoration:none">
      <img src=http://go.microsoft.com/fwlink/?LinkId=161376
             alt="Get Microsoft Silverlight" style="border-style:none"/>
    </a>
  </object>
   <iframe id="_sl_historyFrame" 
              style="visibility:hidden;height:0px;width:0px;border:0px">
   </iframe>
</div>

Contribuições da comunidade

Mostrar:
© 2014 Microsoft