Criação de pacotes Nuget com .NET 6
Todo programador .NET de uma forma ou outra já utilizou um pacote Nuget alguma vez, alguns como EntityFramework, FluentValidation e Newtonsoft.Json somam milhões de downloads e são gratuitos, alguns possuem até cobrança pelo uso.
Mas o propósito de se desenvolver pacotes, é compartilhar algo que pode ser reutilizado de uma forma simples, quer seja para todo o mundo, ou de forma privada dentro de uma empresa.
Muitas empresas criam pacotes com bibliotecas básicas para facilitar a utilização de coisas comuns entre aplicações e áreas, como por exemplo um cadastro de um cliente, que é utilizado em inúmeros projetos .NET e possui validações e regras que podem ser reutilizadas por todos os projetos, para que não precise ser reescrito, pode tornar-se um pacote.
Observação: use isto com muita sabedoria, pois não deve-se criar um monstro para depois ter que alimentá-lo, leve em mente que um pacote que possua uma entidade atualizada poderá ser atualizado em todas as aplicações que o consomem, e caso esta propriedade cause um erro em aplicações que não insiram um valor nela (exemplo campos que não aceitam nulos!), esta evolução mal planejada pode causar bugs em aplicações que sequer seriam afetadas. Além do que a dependência de outros pacotes seus ou de terceiros pode impactar outras aplicações ao tentar resolver estas divergências de versões, um pacote deve ser dependente do menor número de bibliotecas possível.
Mas então vamos lá….
Primeiramente devemos criar um projeto do tipo “ClassLibrary”, vou utilizar meu exemplo criado lá no 1º Meetup do Itu Developers (pode baixar no git).
Neste caso vou utilizar um projeto do tipo “Dotnet Standard 2.0” por conta da sua compatibilidade, portanto ao criá-lo .
Depois de criado o projeto e criadas as suas classes, temos 2 formas de fazê-lo:
1ª forma: utilizando o Visual Studio
Estando nosso projeto pronto, e compilando direitinho, podemos simplesmente criar a Lib e clicar sobre as propriedades do projeto, configurando as informações de criação de pacote.
Após compilar, você verá que na pasta bin/debug do seu projeto, lá estará o arquivo .nupkg
2ª forma: manualmente
Temos que criar um arquivo “nuspec” com as especificações do projeto na mesma pasta que o nosso arquivo .csproj
Uma vez criado o projeto e estando pronto, compilando sem erros, vamos executar na pasta da aplicação o comando para criar o pacote Nuget !
dotnet pack TDDPalestraXUnitExample3.csproj -p:PackageVersion=1.0.0 -c Release -o .
Pronto, o pacote foi criado, você verá na pasta da aplicação o arquivo presente !
E agora, como vamos utilizar ? Bom, como estamos ainda em testes vou inserí-lo dentro da pasta c:\libs na minha máquina.
Depois criarei um projeto novo, do tipo “console” apenas para testar se este pacote está disponível para uso.
Abra o gerenciador de pacotes Nuget, e no topo clique conforme aponta a figura abaixo, para setar as configurações dos pacotes.
Ao clicar no desenho das engrenagens (configuração, abrirá a tela abaixo, onde você irá cadastrar uma nova fonte de pacotes Nuget.
Preencha com um nome que lhe identifique que seja Local e a pasta onde estão, que no nosso caso é “c:\libs”, clicando em “Atualizar” no final.
Agora mude a configuração da sua fonte de pacotes e verá que seu pacote já aparece, além dos detalhes
Pronto, clique para marcá-lo e instale na sua aplicação:
Pronto, ele está instalado agora e disponível.
Agora no código, é só consumir as classes presentes na lib !
Depois que testou e viu que deu tudo certo o seu pacote, que tal publicar ele ?
Entre no site www.nuget.org e faça seu cadastro, após isto, poderá subir seus arquivos e torná-los públicos.
Após confirmar alguns dados e subir, ele estará sob avaliação e disponível após 1 hora conforme o resumo exibido após o upload.
Então agora resta apenas esperar….
Em menos de 10 minutos já ficou disponível, agora é só instalar e utilizar.
Gostou do artigo? clique no ícone👏e também me siga para ver as próximas publicações !!
Referências:
Instalar e gerenciar pacotes NuGet usando a CLI do dotnet | Microsoft Docs