O NuGet é um gerenciador de pacotes .Net e é utilizado para compartilhar bibliotecas. Neste contexto, pode-se surgir necessidades de criar novas bibliotecas, disponibilizadas de maneira privada ou não, de acordo com o cenário de cada desenvolvedor. Com isso, é proposto demonstrar como cria-se os pacotes NuGet e as formas de disponibilização do mesmo.

Primeiramente, deve-se abrir o Visual Studio, selecionar a opção ‘Arquivo’, ‘Novo’ e ‘Projeto’.

Criar novo projeto

Será apresentado uma tela com todas as tecnologias oferecidas pelo Visual Studio. Deve-se selecionar a opção .NET Standard e escolher o projeto Class Library.

Selecionar tipo de projeto a ser criado

Com o projeto já criado, tem-se a seguinte estrutura:

Estrutura do projeto

Transforma-se a classe Class1.cs em estática e cria-se um novo método para validar, basicamente, uma string, passada como parâmetro, que será o CPF. A classe ficará da seguinte forma:

Classe para validar CPF

Nota-se que é muito simples, pois é como programar uma classe em um projeto .Net qualquer. Uma observação que deve ser ressaltada é que neste tipo de contexto/cenário, o tipo dynamic torna-se instável, podendo apresentar erros durante a compilação, com isso, deve ser utilizado DTOs (data transfer objec).

No projeto GeneralValidation, clica-se com o botão direito e seleciona-se a opção Propriedades.

Acessar propriedades do projeto

Deve-se ir na seção Pacote e preencher as seguintes informações destacadas:

Configurando propriedades do pacote

Após configurar todo o projeto, altera-se o projeto para Release, clica-se com o botão direito no projeto e seleciona-se a opção Pacote.

Criação do pacote

Com isso o Visual Studio irá construir o projeto e será criado um arquivo na pasta \bin\Release do projeto, com extensão .nupkg.

Build do projeto
Pacote criado

Primeiramente deve-se acessar a url https://www.nuget.org/, criar ou acessar uma conta. Logo após, clica-se no username e seleciona-se a opção API Keys.

Cria-se uma nova chave, expandindo a opção Create e onde preenche-se os campos Key Name e Glob Pattern. Por fim, clica-se me Create.

Criação da chave

Com o processo de criação da chave já realizado, copia-se a mesma, como é exibido na imagem:

Copiar a chave gerada

Após copiar a chave, deve-se salvá-la em algum local seguro para que possa ser utilizada em operações futuras.

Abra o prompt de comando do windows e digite o seguinte comando:

dotnet nuget push [NOME DO PACOTE] -k [CHAVE] -s https://api.nuget.org/v3/index.json

Enviando pacote

Para poder ver o pacote, acesse o username e vá até a opção Manage Packages.

Com isso poderá ser visto como na seguinte imagem:

Pacote já presente em nuget.org

Quando é gerado o pacote do projeto e o mesmo se encontra na pasta \bin\release o mesmo já pode ser utilizado em qualquer outro projeto, bastando realizar a importação.

Antes de tudo, deve-se instalar um plugin no VSTS. Acessa a url: https://marketplace.visualstudio.com/items?itemName=ms.feed e clica-se em Obter.

Instalação de plugin no VSTS

Este plugin é gratuito para uma conta que contém até 5 assinaturas. Acima disso deve-se comprar uma assinatura.

Após a instalação, acessa-se o projeto no VSTS, direciona-se para a seção Build and Release e seleciona-se a opção Packages.

Clica-se na opção New Feed.

Preencha as informações solicitadas e seleciona-se o botão criar.

Após criar um feed, inicia-se o processo de publicação, clicando na opção como a imagem:

Primeiramente baixa-se um arquivo compactado disponibilizado na janela aberta:

Após isto, extraia os arquivos do arquivo compactado, abra o prompt de comando e navegue até a pasta onde está localizado os arquivos já descompactados. Com isso, executa-se o seguinte comando, lembrando que este comando é gerado automaticamente pelo VSTS, bastando copiar e colar no cmd:

nuget.exe sources Add -Name “NugetTeste” -Source “https://arptecnologia.pkgs.visualstudio.com/_packaging/NugetTeste/nuget/v3/index.json"

Após isto, é necessário copiar o pacote gerado e colar na pasta onde está os arquivos descompactados.

E, por fim, executa-se mais um comando, lembrando que é de acordo com o pacote criado. Após executar o comando, provavelmente deverá pedir as credenciais referente ao VSTS.

nuget.exe push -Source “NugetTeste” -ApiKey VSTS GeneralValidation.1.0.0.nupkg

Com isso, pode-se ver o pacote já no VSTS, como exibido na imagem:

Diante dos pacotes privados e/ou de terceiros existentes, surge a necessidade de utilizá-los em algum projeto pessoal. Para isso, segue-se os seguintes passos:

  • Seleciona-se Ferramentas, NuGet Package Manager e Package Manager Settings.
  • Selecione a opção Package Sources e clique na opção de adicionar um novo pacote
  • Dê um nome a este novo pacote e informe o caminho onde estará este pacote. No caso demonstrado, pode-se informar o caminho da pasta que está o arquigo .nupkg ou a url no VSTS referente ao pacote.

Informando-se o caminho local, ficará da seguinte maneira:

Informando-se a url do VSTS. Primeiramente deve acessar o pacote que está no VSTS e selecionar a opção Connect to feed.

Será exibido uma janela contendo as informações para conexão com o pacote. Copie a url do pacote, como demonstrado:

Com isso, basta informar esta url ao importar o pacote, ficando da seguinte maneira:

Enfim, terá-se todos estes pacotes disponíveis ao acessar o Manage NuGet Packages:

Onde, ao selecionar algum, irá ser exibido os plugins referentes ao pacote:

Nota-se que isso pode se tornar útil para uma equipe de desenvolvimento, pois é possível encapsular funcionalidades, utilizadas em comum, e distribuí-la de maneira abstrata e fácil. Um exemplo disto seria uma criptografia personalizada de utilização de uma determinada empresa, onde, ao invés de todos os desenvolvedores terem que conhecer o código e copiar e colar o mesmo, basta adicionar uma referência do plugin no projeto via nuget.

Bachelor in Computer Science, MBA in Software Architecture and .NET Developer.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store