Como profissionais de desenvolvimento de sotfware, frequentemente encontramos a necessidade de reutilizar interfaces e métodos comuns. A criação de nossas próprias bibliotecas de classes ou pacotes NuGet permite acumular conhecimento técnico e aumentar a eficiência no trabalho. Este tutorial demonstra, com um exemplo prático, como criar um pacote e implantar sua própria fonte privada.
II. Empacotando uma Classe como Pacote NuGet
Uma biblioteca de classes .NET gera um arquivo DLL. Outros projetos podem adicioná-lo como referência para utilizar os métodos encapsulados.
1. Criando o Projeto da Biblioteca de Classes
No Visual Studio, crie um novo projeto de biblioteac de classes. Para garantir ampla compatibilidade entre plataformas como .NET Core e .NET Framework, selecione o template Biblioteca de Classes (.NET Standard).
2. Implementando os Métodos
Adicione uma nova classe à biblioteca. Para fins de demonstração, crie uma classe estática com um método de extensão para strings.
// Arquivo: StringUtils.cs
using System;
namespace MyUtilityLib
{
public static class StringUtils
{
/// <summary>
/// Obtém os últimos N caracteres de uma string.
/// </summary>
public static string ObterSufixo(this string texto, int quantidadeCaracteres)
{
if (string.IsNullOrEmpty(texto) || quantidadeCaracteres <= 0)
return string.Empty;
if (quantidadeCaracteres >= texto.Length)
return texto;
return texto.Substring(texto.Length - quantidadeCaracteres);
}
}
}
Para gerar automaticamente o pacote NuGet a cada compilação, configure a propriedade do projeto: Propriedades do Projeto > Pacote > Construir pacote NuGet na construção.
3. Gerando o Pacote NuGet
No Terminal do Gerenciador de Pacotes ou no prompt de comando dentro do diretório do projeto, execute o comando dotnet pack. O pacote .nupkg será criado no diretório bin\Release (ou bin\Debug).
dotnet pack --configuration Release
III. Publicando o Pacote NuGet
Para disponibilizar o pacote, é necessário publicá-lo em um feed NuGet.
1. Preparando as Ferramentas
Baixe a CLI do NuGet (nuget.exe) a partir do site oficial e certifique-se de que está acessível no PATH do sistema.
2. Publicando em uma Pasta Local
Use o comando nuget add para adicionar o pacote a um diretório local que servirá como fonte de pacotes.
nuget add .\bin\Release\MyUtilityLib.1.0.0.nupkg -Source .\LocalFeed
3. Configurando e Publicando em um Servidor Privado
Crie um aplicativo web (por exemplo, ASP.NET) e instale o pacote NuGet.Server. Configure uma chave de API no web.config para autenticação.
<appSettings>
<add key="apiKey" value="MinhaChaveSecreta2024" />
</appSettings>
Após implantar a aplicação web em um servidor (como o IIS), use o comando nuget push para enviar seu pacote.
nuget push .\bin\Release\MyUtilityLib.1.0.0.nupkg MinhaChaveSecreta2024 -Source http://seuservidor:8080/nuget
IV. Consumindo Pacotes da Fonte Privada
No Visual Studio, navegue até Ferramentas > Opções > Gerenciador de Pacotes NuGet > Fontes de Pacotes. Adicione uma nova fonte apontando para o caminho local ou a URL do seu servidor privado. A partir daí, a fonte estará disponível na janela de Gerenciador de Pacotes NuGet para restauração e instalação de pacotes.
Nota Importante: Evite deletar pacotes publicados de uma fonte privada, pois isso pode quebrar as dependências de projetos que já os utilizam. Prefira sempre publicar versões novas.