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
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
- Libreria e app .csproj, versionamento semantico
- Creazione e pubblicazione su NuGet
- Multi-targeting