.NET -  Publicando um pacote Class Library no Nuget.org


 Neste artigo veremos como criar e publicar um pacote Class Library (.NET Core) no Nuget.org.

Hoje vou mostrar como podemos publicar facilmente um projeto de biblioteca de classes no nuget.org. E vamos fazer isso passo a passo.

Vamos criar um projeto do tipo Class Library de demonstração chamado CalculadoraLibDemo que realiza as quatro operações com dois números do tipo float e a seguir vamos publicar este pacote no Nuget.org.

Em seguida, usaremos esse pacote recém-criado em um projeto do tipo Console e veremos como podemos usar as funcionalidades que foram implementadas em nosso pacote.

1- Criando o projeto Class Library (.NET Core)

Abra o VS 2019 e crie um novo projeto do tipo Class Library (.NET Core) chamado CalculadoraLibDemo usando a linguagem C#:

Altere o nome da classe Class1.cs para Calculadora e inclua o código abaixo nesta classe:

using System;

namespace CalculadoraLibDemo
{
    public class Calculadora
    {
        public float Add(float x, float y)
        {
            return x + y;
        }
        public float Subtract(float x, float y)
        {
            return x - y;
        }
        public float Multiply(float x, float y)
        {
            return x * y;
        }
        public float Divide(float x, float y)
        {
            if (y > 0)
                return x / y;
            else
                throw new ArgumentException("Operação não suportada");
        }
    }
}

O objetivo aqui é apenas ter um pacote com algumas funcionalidades para depois fazer o teste.

A seguir abra a janela de propriedades do projeto e altere os valores para Authors e Company e a seguir salve os dados.

A seguir clique com o botão direito sobre o projeto e selecione a opção Pack do menu suspenso:

Ao final deste processo você deverá encontrar o arquivo CalculadoraLibDemo.1.0.0.nupkg na pasta bin/Debug do projeto:

Acessando o Nuget.org e gerando a APi Key

Agora você terá que acessar o site do Nuget.org e criar uma conta se ainda não tiver uma conta criada.

Após criar a sua conta você poderá fazer o login e acessar a opção para gerar uma API Key:

Acessando a opção APi Keys, a seguir clique em +Create e a seguir gera uma API Key:

Para criar informe o nome , data de expiração, proprietário e o Glob pattern (*). Ao final você deverá visualizar na opção Manage a sua API Key e poderá copiar a chave gerada e usar essa chave para publicar o pacote no Nuget.org:

Publicando o pacote no Nuget.org

Após copiar a sua API Key gerada abra uma janela de prompt de comandos e posicione na pasta onde você gerou o pacote. Para o meu exemplo ele esta na pasta bin/Debug do projeto pois estou fazendo uma Demo apenas.

Assim na janela de comandos digite o seguinte comando: (uma única linha)

dotnet nuget push CalculadoraLibDemo.1.0.0.nupkg --api-key <sua_api_ley> --source https://api.nuget.org/v3/index.json

Note que você deve informar a sua API key gerada para poder publicar o pacote no Nuget.org.

Abaixo temos o resultado indicando que o pacote foi enviado:

Para confirmar, aguarde alguns minutos, e a seguir abra a sua conta no Nuget.org e abra a opção Manages Packages.

A seguir clicando na opção Published Packages você verá o seu pacote publicado :

Clicando sobre o pacote você as informações do mesmo:

Usando o pacote publicado

Agora vamos criar um projeto do tipo Console no VS 2019 chamado TesteCalculadoraLib.

Neste projeto vamos importar o pacote criado emitindo o comando: Install-Package CalculadoraLibDemo

Após isso podemos ver no projeto as dependências exibindo o pacote :

A seguir inclua o código abaixo na classe Program no método Main:

using CalculadoraLibDemo;
using System;

namespace TesteCalculadoraLib
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Testando a Library publicada no Nuget.org");
            Console.WriteLine("CalculadoraLibDemo 1.0.0\n");

            Console.WriteLine("Informe o primeiro numero");
            var num1 = Convert.ToSingle(Console.ReadLine());

            Console.WriteLine("\nInforme o segundo numero");
            var num2 = Convert.ToSingle(Console.ReadLine());

            Calculadora calc = new Calculadora();
            Console.WriteLine(" --- \nResultados para as 4 operações: ----\n");

            Console.WriteLine($"Soma = {calc.Add(num1,num2)}");
            Console.WriteLine($"Subtração = {calc.Subtract(num1, num2)}");
            Console.WriteLine($"Multiplicação = {calc.Multiply(num1, num2)}");
            Console.WriteLine($"Divisão = {calc.Divide(num1, num2)}");

            Console.ReadKey();
        }
    }
}

Aqui estamos usando o classe Calculadora criada no pacote CalculadoraLibDemo e por isso incluímos uma referência ao pacote no projeto.

Executando o projeto teremos o resultado:

Assim acabamos de criar e publicar um pacote no Nuget.org e a seguir importamos e usamos o pacote criado.

"Mas Deus prova o seu amor para conosco, em que Cristo morreu por nós, sendo nós ainda pecadores."
Romanos 5:8

Referências:


José Carlos Macoratti