Packen en publiceren naar NuGet
Pack een library in een .nupkg en publiceer deze. Vul minimale metadata in, voer dotnet pack uit, push met een API key en volg veilige publicatiepraktijken.
Packen en publiceren naar NuGet is een gratis C# Academy-les op CoddyKit. Dit is les 2 van 3. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject C# Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus C# Academy bevat in totaal 3 lessen.
Plan
Doel: Bouw een NuGet-pakket en publiceer het.
- Vul de basis-metagegevens in het project in
- Voer dotnet pack uit om een .nupkg te maken
- Gebruik een API-sleutel voor dotnet nuget push
- Voer veilige controles voor publicatie uit
In te stellen metagegevens
- PackageId: unieke ID (bijvoorbeeld Company.Widget)
- Version: MAJOR.MINOR.PATCH
- Authors, Description
- PackageLicenseExpression (bijvoorbeeld MIT) of een licentiebestand
- RepositoryUrl (optioneel maar nuttig)
Voorbeeld van identiteit
Een pakket bevat een identiteit en versie. Deze eenvoudige app leest de naam en versie van de assembly die je bij het verpakken beschikbaar maakt.
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.");
}
}
Stappen voor verpakken en pushen
Werkstroom: herstellen → verpakken → pushen. Houd de API-sleutel veilig en beperk de reikwijdte ervan.
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.");
}
}
Tips voor publiceren
- Test het pakket lokaal voordat je het pusht (installeer het vanuit een lokale bron)
- Houd API-sleutels geheim; geef de voorkeur aan omgevingsvariabelen
- Voeg symbolen en broncode-informatie toe voor betere foutopsporing
- Schrijf een korte README en een wijzigingslogboek
Problemen oplossen
- ID bestaat al → kies een unieke PackageId
- Licentie ontbreekt → voeg PackageLicenseExpression of een licentiebestand toe
- Geen beschrijving → voeg een korte productsamenvatting toe
- Verkeerde versie → verhoog MAJOR/MINOR/PATCH op de juiste manier
Pack-opdracht
Samenvatting
Samenvatting: vul de projectmetagegevens in, voer dotnet pack uit om een .nupkg te maken en gebruik daarna dotnet nuget push met je API-sleutel. Controleer de inhoud en bewaar je inloggegevens veilig.
Leer C# met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 93
- Lessen
- 346
Veelgestelde vragen
Is de les “Packen en publiceren naar NuGet” gratis?
Ja — de volledige tekst van “Packen en publiceren naar NuGet” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus C# Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus C# Academy bevat in totaal 3 lessen.
Wat leer ik in “Packen en publiceren naar NuGet”?
Pack een library in een .nupkg en publiceer deze. Vul minimale metadata in, voer dotnet pack uit, push met een API key en volg veilige publicatiepraktijken. Je oefent met C# Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met C# Academy te beginnen?
Ervaring vooraf is niet nodig. C# Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 3.
Hoe lang duurt de les “Packen en publiceren naar NuGet”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over C# Academy?
Ja. Elke les over C# Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Bibliotheek versus app-.csproj, semantic versioning
- Packen en publiceren naar NuGet
- Multi-targeting