0Pricing
C# Academy · Lezione

Creazione e pubblicazione su NuGet

Create un pacchetto .nupkg per una libreria e pubblicatelo. Compilate i metadati minimi, eseguite dotnet pack, effettuate il push con una chiave API e seguite pratiche di pubblicazione sicure.

Creazione e pubblicazione su NuGet è una lezione C# Academy gratuita su CoddyKit. Questa è la lezione 2 di 3. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento C# Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso C# Academy include 3 lezioni in totale.

Piano

Obiettivo: crei e pubblichi un pacchetto NuGet.

  • Compilare i metadati di base nel progetto
  • Eseguire dotnet pack per ottenere un file .nupkg
  • Usare una chiave API per dotnet nuget push
  • Seguire controlli di pubblicazione sicuri

Metadati da impostare

  • PackageId: ID univoco (ad es. Company.Widget)
  • Version: MAJOR.MINOR.PATCH
  • Authors, Description
  • PackageLicenseExpression (ad es. MIT) o file di licenza
  • RepositoryUrl (facoltativo, ma utile)

Anteprima dell'identità

Un pacchetto contiene identità e versione. Questa semplice app legge il nome e la versione dell'assembly che verranno esposti durante la creazione del pacchetto.

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

Passaggi per pack e push

Flusso di lavoro: restore → pack → push. Mantenga sicura e limitata nell'ambito la chiave 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.");
  }
}

Suggerimenti per la pubblicazione

  • Testi il pacchetto localmente prima del push (installandolo da un'origine locale)
  • Mantenga segrete le chiavi API; preferisca le variabili d'ambiente
  • Fornisca simboli e informazioni sul codice sorgente se desidera un debugging migliore
  • Scriva un README e un changelog brevi

Risoluzione dei problemi

  • ID già esistente → scelga un PackageId univoco
  • Licenza mancante → aggiunga PackageLicenseExpression o un file di licenza
  • Descrizione assente → aggiunga un breve riepilogo del prodotto
  • Versione errata → incrementi correttamente MAJOR/MINOR/PATCH

Comando pack

Controllo rapido: quale comando CLI crea un file .nupkg a partire da un file .csproj?

Riepilogo

Riepilogo: compili i metadati del progetto, esegua dotnet pack per creare un file .nupkg, quindi esegua dotnet nuget push con la chiave API. Verifichi il contenuto e custodisca le credenziali in modo sicuro.

Domande Frequenti

La lezione «Creazione e pubblicazione su NuGet» è gratuita?

Sì — il testo completo di «Creazione e pubblicazione su NuGet» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso C# Academy, passa a CoddyKit PRO. Il corso C# Academy include 3 lezioni in totale.

Cosa imparerò in «Creazione e pubblicazione su NuGet»?

Create un pacchetto .nupkg per una libreria e pubblicatelo. Compilate i metadati minimi, eseguite dotnet pack, effettuate il push con una chiave API e seguite pratiche di pubblicazione sicure. Eserciti C# Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare C# Academy?

Non è richiesta alcuna esperienza precedente. C# Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 3.

Quanto tempo richiede la lezione «Creazione e pubblicazione su NuGet»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione C# Academy?

Sì. Ogni lezione C# Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Libreria e app .csproj, versionamento semantico
  2. Creazione e pubblicazione su NuGet
  3. Multi-targeting
← Torna a C# Academy