0Pricing
C# Academy · Aula

Empacotamento e publicação no NuGet

Empacote uma biblioteca em um .nupkg e publique-a. Preencha os metadados mínimos, execute dotnet pack, envie com uma chave de API e siga práticas seguras de publicação.

Empacotamento e publicação no NuGet é uma aula grátis de C# Academy no CoddyKit. Esta é a aula 2 de 3. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de C# Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de C# Academy inclui 3 aulas no total.

Plano

Objetivo: Criar e publicar um pacote NuGet.

  • Preencha os metadados básicos no projeto
  • Execute dotnet pack para obter um arquivo .nupkg
  • Use uma chave de API para executar dotnet nuget push
  • Siga verificações seguras de publicação

Metadados a definir

  • PackageId: ID exclusivo (por exemplo, Company.Widget)
  • Version: MAJOR.MINOR.PATCH
  • Authors, Description
  • PackageLicenseExpression (por exemplo, MIT) ou um arquivo de licença
  • RepositoryUrl (opcional, mas útil)

Prévia da identidade

Um pacote contém identidade e versão. Este aplicativo simples lê o nome e a versão do assembly que serão expostos durante o empacotamento.

using System;
using System.Reflection;

// Demo: show how a packed library exposes version and name.
// In real packaging, version/metadata come from the .csproj.
public class Program
{
  public static void Main(string[] args)
  {
    Assembly asm = Assembly.GetExecutingAssembly();
    Version ver = asm.GetName().Version;
    string name = asm.GetName().Name;
    Console.WriteLine("Assembly: " + name);
    Console.WriteLine("Version: " + (ver == null ? "unknown" : ver.ToString()));
    Console.WriteLine("Tip: Set PackageId/Version/Authors in the .csproj before packing.");
  }
}

Etapas para empacotar e publicar

Fluxo: restaurar → empacotar → publicar. Mantenha a chave de API segura e com escopo limitado.

using System;

// This code prints the typical pack workflow steps.
// Run them in your terminal; here we just echo the sequence.
public class Program
{
  static void Print(string step)
  {
    Console.WriteLine(step);
  }

  public static void Main(string[] args)
  {
    Print("1) Ensure .csproj has PackageId/Version/Authors/Description");
    Print("2) dotnet restore");
    Print("3) dotnet pack -c Release");
    Print("   -> bin/Release/<tfm>/*.nupkg");
    Print("4) Get an API key from your NuGet server");
    Print("5) dotnet nuget push bin/Release/*.nupkg --api-key <KEY> --source <URL or nuget.org>");
    Print("Done: package available for consumers.");
  }
}

Dicas de publicação

  • Teste o pacote localmente antes de publicá-lo (instale-o a partir de uma fonte local)
  • Mantenha as chaves de API em segredo; prefira variáveis de ambiente
  • Forneça informações de símbolos ou do código-fonte se quiser uma depuração melhor
  • Escreva um README curto e um registro de alterações

Solução de problemas

  • O ID já existe → escolha um PackageId exclusivo
  • Licença ausente → adicione PackageLicenseExpression ou um arquivo de licença
  • Sem descrição → adicione um breve resumo do produto
  • Versão incorreta → incremente MAJOR/MINOR/PATCH corretamente

Comando de empacotamento

Verificação rápida: qual comando da CLI cria um .nupkg a partir de um .csproj?

Recapitulação

Recapitulação: preencha os metadados do projeto, execute dotnet pack para criar um .nupkg e, em seguida, execute dotnet nuget push com sua chave de API. Verifique o conteúdo e mantenha as credenciais protegidas.

Perguntas Frequentes

A aula “Empacotamento e publicação no NuGet” é grátis?

Sim — o texto completo de “Empacotamento e publicação no NuGet” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de C# Academy, atualize para CoddyKit PRO. O curso de C# Academy inclui 3 aulas no total.

O que vou aprender em “Empacotamento e publicação no NuGet”?

Empacote uma biblioteca em um .nupkg e publique-a. Preencha os metadados mínimos, execute dotnet pack, envie com uma chave de API e siga práticas seguras de publicação. Você pratica C# Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar C# Academy?

Nenhuma experiência prévia é necessária. C# Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 3.

Quanto tempo leva a aula “Empacotamento e publicação no NuGet”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de C# Academy?

Sim. Cada aula de C# Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Biblioteca versus aplicativo em .csproj, versionamento semântico
  2. Empacotamento e publicação no NuGet
  3. Vários destinos
← Voltar para C# Academy