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
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
- Biblioteca versus aplicativo em .csproj, versionamento semântico
- Empacotamento e publicação no NuGet
- Vários destinos