Compartilhar via


Criando novos projetos de biblioteca de Platform-Specific para NuGet

Projetos de Biblioteca multiplataforma direcionados a plataformas específicas, como iOS e Android, funcionam melhor com Projetos Compartilhados.

O NuGet pode conter código específico do iOS e do Android, bem como código .NET comum a ambos.

Vários assemblies são criados e incorporados em um único pacote NuGet. Os padrões do NuGet garantem que o pacote possa ser adicionado a todos os tipos de projeto com suporte, como projetos Xamarin.iOS e Android.

Etapas para criar um NuGet de biblioteca multiplataforma

  1. Selecione Arquivo > Nova Solução (ou clique com o botão direito do mouse em uma solução existente e escolha Adicionar > Novo Projeto).

  2. Escolha Biblioteca multiplataforma na seção Biblioteca Multiplataforma>:

    Configurar biblioteca multiplataforma para uma única base de código

  3. Insira um Nome e uma Descrição e escolha Plataforma específica:

    Configurar biblioteca específica da plataforma para iOS e Android

  4. Conclua o assistente. Os seguintes projetos são adicionados à solução:

    • Android Project – o código específico do Android pode, opcionalmente, ser adicionado a este projeto.
    • Projeto do iOS – o código específico do iOS pode, opcionalmente, ser adicionado a este projeto.
    • Projeto NuGet – nenhum código é adicionado a este projeto. Ele faz referência aos outros projetos e contém a configuração de metadados para a saída do pacote NuGet.
    • Projeto Compartilhado – Código comum deve ser adicionado a este projeto, incluindo código específico da plataforma dentro #if de diretivas do compilador.
  5. Clique com o botão direito do mouse no projeto NuGet e escolha Opções, abra a seção Metadados do Pacote > NuGet e insira os metadados necessários (bem como os metadados opcionais):

    Inserir metadados necessários

  6. Também na janela Opções do Projeto , abra a seção Assemblies de Referência e escolha quais perfis pcl a biblioteca compartilhada dará suporte por meio de "isca e comutador":

    Também na janela Opções do Projeto, abra a seção Assemblies de Referência e escolha quais perfis pcl a biblioteca compartilhada dará suporte por meio de isca e comutador

    Observação

    "Isca e comutador" significa que os assemblies PCL conterão apenas a API exposta pela biblioteca (ela não pode conter o código específico da plataforma). Quando o NuGet for adicionado a um projeto Xamarin, as bibliotecas compartilhadas serão compiladas em relação à PCL, mas os assemblies específicos da plataforma contêm o código que é realmente usado pelo projeto iOS ou Android.

  7. Clique com o botão direito do mouse no projeto e escolha Criar Pacote NuGet (ou compilar ou implantar a solução) e o arquivo de pacote NuGet .nupkg será salvo na pasta /bin/ (depuração ou versão, dependendo da configuração).

    O arquivo de pacote NuGet será salvo na pasta bin Depurar ou Liberar, dependendo da configuração

Verificando a saída

Os pacotes NuGet também são arquivos ZIP, portanto, é possível inspecionar a estrutura interna do pacote gerado.

Esta captura de tela mostra o conteúdo de um NuGet específico da plataforma que dá suporte a iOS e Android e teve dois assemblies de referência selecionados:

Arquivos contidos no pacote NuGet