DEV Community

Gabriel Batista
Gabriel Batista

Posted on

Seu Primeiro Pacote NuGet: Um Passo a Passo Prático

Quando você trabalha em diferentes aplicações, é comum se deparar com os mesmos problemas e as mesmas soluções aparecendo de novo e de novo. Isso faz parte do dia a dia de um desenvolvedor, mas pode ser meio cansativo. Agora, imagine se você pudesse pegar esse código repetido, organizar direitinho e usar facilmente em outros projetos. Legal, né? Neste artigo, vamos explorar como fazer isso com o NuGet.

Visão geral:

O NuGet é o gerenciador de pacotes oficial do .NET e ajuda você a empacotar, compartilhar e usar funcionalidades reutilizáveis de forma simples. Com ele, dá para organizar seu código em pacotes, reaproveitá-los em outros projetos e até colaborar de maneira mais prática com outros desenvolvedores.

"Um pacote NuGet é um arquivo ZIP com a extensão .nupkg que contém código compilado (DLLs), arquivos relacionados e um manifesto descritivo com informações como o número da versão. Desenvolvedores criam e publicam pacotes, enquanto consumidores obtêm e utilizam suas funcionalidades. O NuGet gerencia os detalhes intermediários."

Criando um projeto

Antes de começar, crie uma conta no NuGet.org. Isso será necessário para publicar seu pacote.

Crie um projeto do tipo Class Library. No terminal, execute:

dotnet new classlib --name ExamplePackage
Enter fullscreen mode Exit fullscreen mode

Em seguida, abra o projeto em seu editor de preferência. Vamos criar um exemplo simples que converte um objeto em uma string JSON.

Código do pacote

Definindo os Metadados

Para criar um pacote, é necessário configurar informações importantes diretamente no arquivo .csproj do projeto. Esse arquivo define os metadados essenciais que identificarão seu pacote no NuGet.

Metadados Obrigatórios:

  • TargetFramework: Define a versão do .NET que seu projeto utilizará.
  • PackageId: Um identificador único para seu pacote.
  • Version: Versão do pacote no formato Major.Minor.Patch (SemVer).
    • Major: Alterações que quebram compatibilidade.
    • Minor: Novas funcionalidades.
    • Patch: Correções de bugs.

Metadados opcionais (não obrigatórios mas fortemente recomendados):

  • Authors Nome do autor ou autores do pacote.
  • Description: Uma breve descrição do propósito do pacote.
  • PackageLicenseExpression: Especifica a licença sob a qual o pacote é distribuído.

Atualize o arquivo .csproj para incluir essas informações:

Arquivo .csproj

Compilando o pacote

Com os metadados configurados, é hora de compilar o pacote. No terminal, execute:

dotnet pack --configuration Release
Enter fullscreen mode Exit fullscreen mode

Esse comando criará um arquivo .nupkg na pasta bin/Release.

Localização do pacote compilado

Testando localmente

Configurando a Fonte Local:

Dentro do projeto, crie uma pasta para os pacotes locais:

mkdir NuGetLocal
Enter fullscreen mode Exit fullscreen mode

Copie o arquivo .nupkg gerado para essa pasta:

cp bin/Release/examplePackage.Convert.1.0.0.nupkg NuGetLocal
Enter fullscreen mode Exit fullscreen mode

Adicione a pasta como uma fonte NuGet:

dotnet nuget add source /caminho/completo/para/NuGetLocal --name NuGetLocal
Enter fullscreen mode Exit fullscreen mode

Consumindo o Pacote no Projeto:

Você pode criar um projeto console para testes:

dotnet new console --name ExamplePackageTest
cd ExamplePackageTest
Enter fullscreen mode Exit fullscreen mode

Use o comando dotnet add package para instalar o pacote:

dotnet add package examplePackage.Convert --version 1.0.0
Enter fullscreen mode Exit fullscreen mode

Testando o Pacote

Abra o arquivo Program.cs do projeto de teste e use o pacote:

Importando pacote da fonte local

Utilizando pacote da fonte local

Publicação

Após validar seu pacote, é hora de publicá-lo. Acesse sua conta em NuGet.org, vá até o seu perfil e crie uma nova chave.

Gerando chave para publicação de pacotes

No terminal, use o comando abaixo para publicar seu pacote no NuGet:

dotnet nuget push bin\Release\examplePackage.Convert.1.0.0.nupkg --api-key SuaAPIkEY --source https://api.nuget.org/v3/index.json
Enter fullscreen mode Exit fullscreen mode

Pronto, se tudo estiver correto após alguns minutos, o pacote estará disponível no NuGet.org.

Pacote publicado

Conclusão

Agora que você aprendeu a criar, testar e publicar pacotes NuGet, pode começar a criar os seus próprios pacotes para facilitar o seu trabalho e, quem sabe, ajudar outras pessoas com as suas soluções.

Materiais Relacionados e Referências

Top comments (0)