C# Academy · Lektion

Pakning og publicering til NuGet

Pak et library i en .nupkg, og publicér det. Udfyld de minimale metadata, kør dotnet pack, push med en API-nøgle, og følg sikker praksis for publicering.

Lektion 2 af 38 trin

Pakning og publicering til NuGet er en gratis C# Academy-lektion på CoddyKit. Dette er lektion 2 af 3. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i C# Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. C# Academy-kurset indeholder 3 lektioner i alt.

Plan

Formål: Byg og publicér en NuGet-pakke.

  • Udfyld grundlæggende metadata i projektet
  • Kør dotnet pack for at få en .nupkg
  • Brug en API-nøgle til dotnet nuget push
  • Følg sikre kontroller før publicering

Metadata, der skal angives

  • PackageId: entydigt ID (f.eks. Company.Widget)
  • Version: MAJOR.MINOR.PATCH
  • Authors, Description
  • PackageLicenseExpression (f.eks. MIT) eller licensfil
  • RepositoryUrl (valgfrit, men nyttigt)

Forhåndsvisning af identitet

En pakke indeholder identitet og version. Denne simple app læser assemblynavnet og -versionen, som du eksponerer ved pakning.

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

Trin til pakning og publicering

Arbejdsgang: gendan → pak → publicér. Hold API-nøglen sikker, og begræns dens omfang.

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

Tip til publicering

  • Afprøv pakken lokalt før publicering (installér fra en lokal kilde)
  • Hold API-nøgler hemmelige; foretræk miljøvariabler
  • Medtag symbol- og kildeoplysninger, hvis du ønsker bedre fejlfinding
  • Skriv en kort README og ændringslog

Fejlfinding

  • ID findes allerede → vælg et unikt PackageId
  • Licens mangler → tilføj PackageLicenseExpression eller en licensfil
  • Ingen beskrivelse → tilføj et kort produktresumé
  • Forkert version → forøg MAJOR/MINOR/PATCH korrekt

Pack-kommando

Hurtigt tjek: Hvilken CLI-kommando opretter en .nupkg-fil ud fra en .csproj-fil?

Opsummering

Opsummering: Udfyld projektmetadata, kør dotnet pack for at oprette en .nupkg-fil, og brug derefter dotnet nuget push sammen med din API-nøgle. Kontrollér indholdet, og opbevar legitimationsoplysninger sikkert.

Gratis at komme i gang

Lær C# med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
93
Lektioner
346

Ofte stillede spørgsmål

Er lektionen “Pakning og publicering til NuGet” gratis?

Ja — hele teksten til “Pakning og publicering til NuGet” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af C# Academy-kurset, skal du opgradere til CoddyKit PRO. C# Academy-kurset indeholder 3 lektioner i alt.

Hvad lærer jeg i “Pakning og publicering til NuGet”?

Pak et library i en .nupkg, og publicér det. Udfyld de minimale metadata, kør dotnet pack, push med en API-nøgle, og følg sikker praksis for publicering. Du øver dig i C# Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på C# Academy?

Der kræves ingen tidligere erfaring. C# Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 3.

Hvor lang tid tager lektionen “Pakning og publicering til NuGet”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne C# Academy-lektion?

Ja. Alle C# Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Biblioteks- kontra app-.csproj og semantisk versionsstyring
  2. Pakning og publicering til NuGet
  3. Multi-targeting
← Tilbage til C# Academy