0Pricing
C# Academy · Lección

Empaquetado y publicación en NuGet

Empaquete una biblioteca en un .nupkg y publíquela. Complete los metadatos mínimos, ejecute dotnet pack, publíquela con una clave de API y siga prácticas seguras de publicación.

Empaquetado y publicación en NuGet es una lección gratuita de C# Academy en CoddyKit. Esta es la lección 2 de 3. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de C# Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de C# Academy incluye 3 lecciones en total.

Plan

Objetivo: Crear y publicar un paquete NuGet.

  • Completar los metadatos básicos del proyecto
  • Ejecutar dotnet pack para obtener un archivo .nupkg
  • Usar una clave de API con dotnet nuget push
  • Seguir comprobaciones de publicación segura

Metadatos que se deben configurar

  • PackageId: identificador único (por ejemplo, Company.Widget)
  • Version: MAJOR.MINOR.PATCH
  • Authors, Description
  • PackageLicenseExpression (por ejemplo, MIT) o un archivo de licencia
  • RepositoryUrl (opcional, pero útil)

Vista previa de la identidad

Un paquete contiene una identidad y una versión. Esta aplicación sencilla lee el nombre y la versión del ensamblado que expondrá al empaquetar.

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.");
  }
}

Pasos para empaquetar y publicar

Flujo de trabajo: restaurar → empaquetar → publicar. Mantener segura y con el alcance limitado la clave de API.

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.");
  }
}

Consejos de publicación

  • Probar el paquete localmente antes de publicarlo (instalarlo desde un origen local)
  • Mantener secretas las claves de API; preferir variables de entorno
  • Proporcionar información de símbolos o del código fuente si se desea mejorar la depuración
  • Escribir un README y un registro de modificaciones breves

Solución de problemas

  • El ID ya existe → elija un PackageId único
  • Falta la licencia → añada PackageLicenseExpression o un archivo de licencia
  • No hay descripción → añada un breve resumen del producto
  • Versión incorrecta → incremente MAJOR/MINOR/PATCH correctamente

Comando pack

Comprobación rápida: ¿Qué comando de CLI crea un .nupkg a partir de un .csproj?

Resumen

Resumen: Complete los metadatos del proyecto, ejecute dotnet pack para crear un .nupkg y, después, dotnet nuget push con su clave de API. Verifique el contenido y mantenga las credenciales seguras.

Preguntas frecuentes

¿La lección «Empaquetado y publicación en NuGet» es gratis?

Sí — el texto completo de «Empaquetado y publicación en NuGet» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de C# Academy, actualiza a CoddyKit PRO. El curso de C# Academy incluye 3 lecciones en total.

¿Qué aprenderé en «Empaquetado y publicación en NuGet»?

Empaquete una biblioteca en un .nupkg y publíquela. Complete los metadatos mínimos, ejecute dotnet pack, publíquela con una clave de API y siga prácticas seguras de publicación. Practicas C# Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar C# Academy?

No se requiere experiencia previa. C# Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 3.

¿Cuánto tiempo toma la lección «Empaquetado y publicación en NuGet»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de C# Academy?

Sí. Cada lección de C# Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Biblioteca frente a aplicación en .csproj y versionado semántico
  2. Empaquetado y publicación en NuGet
  3. Multi-targeting
← Volver a C# Academy