Compartilhar via


Criando uma nova biblioteca multiplataforma para NuGet

Criar um projeto de Biblioteca Multiplataforma que usa PCL ou .NET Standard significa que o NuGet resultante pode ser adicionado a qualquer projeto .NET que dê suporte ao perfil de destino, incluindo projetos ASP.NET ou aplicativos da área de trabalho usando WinForms, WPF ou UWP.

A biblioteca só pode conter código compatível com o perfil PCL ou .NET Standard selecionado, bem como outros NuGets adicionados. Isso é adequado para a lógica de negócios e algoritmos que podem ser expressos inteiramente na biblioteca de classes base do .NET.

Um único assembly é criado e integrado a um pacote NuGet.

Se mais tarde você precisar de funcionalidade específica da plataforma, projetos específicos da plataforma poderão ser adicionados.

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>:

    Captura de tela que mostra Escolher um modelo com a Biblioteca multiplataforma selecionada.

  3. Insira um Nome e uma Descrição e escolha Single para todas as plataformas:

    A captura de tela mostra os valores inseridos para Nome, Descrição e Implementação.

  4. Conclua o assistente. Um único projeto de biblioteca é criado na solução.

  5. Clique com o botão direito do mouse no novo projeto de biblioteca e selecione Opções. A seção Criar > Geral permite que o Target Framework seja definido – escolha um perfil pcl portátil do .NET ou uma versão do .NET Standard:

    Escolha PCL ou .NET Standard para o tipo de biblioteca

  6. Também na janela Opções do Projeto , abra a seção Metadados do Pacote > NuGet e insira os metadados necessários (bem como os metadados opcionais):

    Inserir metadados necessários

  7. Clique com o botão direito do mouse no projeto da biblioteca e escolha Criar Pacote NuGet (ou compilar ou implantar a solução) e o arquivo de pacote NuGet .nupkg será salvo na pasta /bin/ (Depurar ou Liberar, 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 baseado em PCL – apenas um único assembly PCL está incluído:

Arquivos contidos no pacote NuGet

Adicionando código de Platform-Specific

Projetos baseados em PCL e projetos baseados no .NET Standard não podem conter referências específicas da plataforma (como funcionalidade iOS ou Android).

Se um projeto PCL existente ou um projeto .NET Standard precisar ser expandido para incluir código específico da plataforma, isso poderá ser feito clicando com o botão direito do mouse no projeto e selecionando Adicionar Adicionar > Implementação de Plataforma...:

Menu Adicionar implementação de plataforma

Um ou mais projetos de plataforma podem ser adicionados à solução, e a biblioteca PCL ou .NET Standard existente pode, opcionalmente, ser convertida em um Projeto Compartilhado:

Adicionar opções de plataforma, como iOS, Android e Projeto Compartilhado

Depois de converter em um Projeto Compartilhado, visite a seçãoAssemblies de Referência de Pacote > NuGet das Opções > do Projeto e verifique se todos os perfis necessários estão selecionados (para que o NuGet continue a ser compatível com projetos em que foi usado anteriormente).