Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In deze quickstart gebruikt u Microsoft Visual Studio om een NuGet-pakket te maken op basis van een .NET-klassebibliotheek. Vervolgens publiceert u het pakket naar nuget.org met behulp van een opdrachtregelinterfaceprogramma (CLI).
Deze quickstart is alleen bedoeld voor Windows gebruikers. Als u een ander platform gebruikt, gebruikt u de .NET CLI.
Vereiste voorwaarden
Visual Studio 2026 met een .NET-gerelateerde workload.
U kunt de communityversie 2026 gratis installeren vanuit visualstudio.microsoft.com of u kunt de Professional- of Enterprise-editie gebruiken.
Visual Studio 2017 en hoger bevatten automatisch NuGet-mogelijkheden wanneer u een .NET-gerelateerde workload installeert.
De .NET CLI.
Voor Visual Studio 2017 en hoger wordt de .NET CLI automatisch geïnstalleerd met elke .NET-gerelateerde workload. U kunt ook de .NET SDK installeren om de .NET CLI op te halen. De .NET CLI is vereist voor .NET projecten die gebruikmaken van de indeling SDK-stijl (en een SDK-kenmerk). De standaardsjabloon .NET klassebibliotheek in Visual Studio 2017 en hoger maakt gebruik van het SDK-kenmerk.
Belangrijk
Als u met een niet-SDK-project werkt, volgt u de procedures in Maak en publiceer een pakket met behulp van Visual Studio (.NET Framework, Windows) om het pakket te maken en te publiceren. Voor dit artikel wordt de .NET CLI aanbevolen. Hoewel u elk NuGet-pakket kunt publiceren met behulp van de NuGet CLI, zijn sommige van de stappen in dit artikel specifiek voor SDK-projecten en de .NET CLI. De NuGet CLI wordt gebruikt voor non-SDK-projecten (meestal .NET Framework-projecten).
Een gratis account op nuget.org. U moet het account registreren en bevestigen voordat u een NuGet-pakket kunt uploaden.
De NuGet CLI. U kunt het installeren door het te downloaden van nuget.org. Voeg het bestandnuget.exe toe aan een geschikte map en voeg die map toe aan uw
PATHomgevingsvariabele.
Een klassebibliotheekproject maken
U kunt een bestaand .NET klassebibliotheekproject gebruiken voor de code die u wilt verpakken, of u kunt er een maken door de volgende stappen uit te voeren:
Selecteer in Visual Studio Bestand>Nieuw>Project/Solution.
Ga in het venster Een nieuw project maken naar het zoekvak en voer class library in.
Selecteer in de resulterende lijst met projectsjablonen de klassebibliotheeksjabloon die voldoet aan de volgende criteria:
- Bevat de beschrijving A-project voor het maken van een klassebibliotheek die is gericht op .NET of .NET Standard
- Heeft een C# -tag
Kies Volgende.
Voer in het venster Configure your new projectProject nameAppLogger in en selecteer Next.
Selecteer in het venster Aanvullende informatie een geschikte waarde voor Framework en selecteer vervolgens Maken.
Als u niet zeker weet welk framework u moet selecteren, is de nieuwste optie een goede keuze en kan het later eenvoudig worden gewijzigd. Zie Wanneer u
netx.0moet targeten versusnetstandardvoor meer informatie over welk framework u moet gebruiken.(Optioneel) Voor deze quickstart hoeft u geen extra code te schrijven voor het NuGet-pakket, omdat de sjabloonklassebibliotheek voldoende is om een pakket te maken. Als u echter functionele code aan het pakket wilt toevoegen, moet u de volgende code opnemen:
namespace AppLogger { public class Logger { public void Log(string text) { Console.WriteLine(text); } } }
Pakketeigenschappen configureren
Nadat u uw project hebt gemaakt, kunt u de Eigenschappen van het NuGet-pakket configureren door de volgende stappen uit te voeren:
In Solution Explorer, selecteer uw project en selecteer vervolgens Project><project-name> Properties, waarbij <project-name> de naam van uw project is.
Vouw het Package-knooppunt uit en selecteer Algemeen.
Het knooppunt Package wordt alleen weergegeven voor SDK-projecten in Visual Studio. Als u zich richt op een project met een niet-SDK-stijl (meestal .NET Framework-projecten), kunt u het project migreren of bekijk Een pakket maken en publiceren met behulp van Visual Studio (.NET Framework, Windows) voor stapsgewijze instructies.
Geef voor pakket-id een unieke id op voor uw pakket.
Belangrijk
U moet het pakket een id geven die uniek is voor de host die u gebruikt, zoals nuget.org. Anders treedt er een fout op. Voor deze quickstart raden we u aan voorbeeld of test op te nemen in de id, omdat de publicatiestap het pakket openbaar zichtbaar maakt. Zie voor meer informatie over het selecteren van een ID Aanbevolen procedures voor de pakket-id.
Vul eventuele andere gewenste eigenschappen in. Voor pakketten die zijn gebouwd voor openbaar gebruik, moet u speciale aandacht besteden aan de eigenschap Tags , omdat tags anderen helpen uw pakket te vinden en te begrijpen wat het doet.
Alle eigenschappen gaan naar het manifest .nuspec dat Visual Studio voor het project maakt. Zie pack target voor een tabel die laat zien hoe eigenschappen van Microsoft Build (MSBuild) in SDK-stijl projecten worden toegewezen aan .nuspec. Zie .nuspec-verwijzing voor een beschrijving van de .nuspec-bestandseigenschappen.
(Optioneel) Als u de eigenschappen rechtstreeks in het bestand AppLogger.csproj project wilt bekijken, selecteert u Project>Bewerken Project Bestand.
Het bestand AppLogger.csproj wordt geopend op een nieuw tabblad.
Deze optie is beschikbaar voor projecten die gebruikmaken van het kenmerk SDK-stijl.
Voer de opdracht Pack uit
Voer de volgende stappen uit om een NuGet-pakket te maken op basis van uw project:
Selecteer Build>Configuration Manager en stel vervolgens de waarde Active solution configuration in op Release.
Klik in Solution Explorer met de rechtermuisknop op het project AppLogger en selecteer vervolgens Pack.
Visual Studio bouwt het project en maakt het bestand .nupkg.
Bekijk het uitvoervenster voor gedetailleerde informatie, inclusief het pad naar het pakketbestand. In dit voorbeeld bevindt de ingebouwde assembly zich in de map bin\Release\net8.0 die geschikt is voor een .NET 8.0-doel:
1>------ Build started: Project: AppLogger, Configuration: Release Any CPU ------ 1> AppLogger -> d:\proj\AppLogger\AppLogger\bin\Release\net8.0\AppLogger.dll 1> Successfully created package 'd:\proj\AppLogger\AppLogger\bin\Release\Contoso.App.Logger.Test.1.0.0.nupkg'. ========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
Als de opdracht Pack ontbreekt in het menu, is uw project waarschijnlijk geen SDK-project. Voer een van de volgende stappen uit:
- Upgrade het project zodat u de .NET CLI kunt gebruiken.
- Volg de instructies in Een pakket maken en publiceren met behulp van Visual Studio (.NET Framework, Windows) om de NuGet CLI te gebruiken om een NuGet-pakket te maken en te publiceren vanuit uw project.
(Optioneel) Pakket genereren op build
U kunt Visual Studio zo configureren dat het NuGet-pakket automatisch wordt gegenereerd wanneer u het project bouwt:
Selecteer uw project in Solution Explorer, en selecteer vervolgens Project><project-name> Properties, waarbij <project-name> de naam van uw project (AppLogger in dit geval).
Vouw het pakketknooppunt uit, selecteer Algemeen en selecteer Vervolgens NuGet-pakket genereren bij build.
Opmerking
Wanneer u deze optie selecteert, verhoogt de extra tijd die nodig is om het pakket te genereren de totale buildtijd voor uw project.
(Optioneel) Pack met MSBuild
Als alternatief voor het gebruik van de menuopdracht Pack kunt u de msbuild -t:pack opdracht gebruiken om een NuGet-pakket te bouwen vanuit uw project. NuGet 4.x+ en MSBuild 15.1+ ondersteunen een pack doel wanneer uw project de benodigde pakketgegevens bevat.
Open het project in Solution Explorer en open een opdrachtpromptvenster door Tools>Opdrachtregel>Ontwikkelingsopdrachtprompt te selecteren.
Het opdrachtpromptvenster wordt geopend in de projectmap.
Voer de volgende opdracht uit:
msbuild -t:pack.
Zie Een NuGet-pakket maken met MSBuild voor meer informatie.
Het pakket publiceren
Nadat u een bestand .nupkg hebt gemaakt, voert u de stappen uit in de volgende secties om het te publiceren naar nuget.org. U kunt de .NET CLI of de NuGet CLI gebruiken voor publicatie. U gebruikt ook een API-sleutel die u verkrijgt van nuget.org.
Opmerking
Nuget.org scant alle geüploade pakketten op virussen en weigert alle pakketten die virussen bevatten. Nuget.org scant ook regelmatig alle bestaande vermelde pakketten.
Pakketten die u naar nuget.org publiceert, zijn openbaar zichtbaar voor andere ontwikkelaars, tenzij u de lijst met pakketten ongedaan maakt. Als u pakketten privé wilt hosten, raadpleegt u Uw eigen NuGet-feeds hosten.
Uw API-sleutel verkrijgen
Voordat u uw NuGet-pakket publiceert, maakt u een API-sleutel:
Meld u aan bij uw nuget.org-account of maak een account als u er nog geen hebt.
Selecteer uw gebruikersnaam in de rechterbovenhoek en selecteer vervolgens API-sleutels.
Selecteer Maken en voer een naam in voor uw sleutel.
Selecteer onder Bereiken selecteren, Push.
Voer onder Pakketten selecteren voor Glob-patroon een sterretje (*) in.
Klik op Creëren.
Selecteer Kopiëren om de nieuwe sleutel te kopiëren.
Belangrijk
- Bewaar uw API-sleutel altijd een geheim. De API-sleutel is vergelijkbaar met een wachtwoord dat iedereen namens u kan gebruiken om pakketten te beheren. Verwijder uw API-sleutel of genereer deze opnieuw als deze per ongeluk wordt weergegeven.
- Sla uw sleutel op een veilige locatie op, omdat u de sleutel later niet meer kunt kopiëren. Als u terugkeert naar de pagina api-sleutel, moet u de sleutel opnieuw genereren om deze te kopiëren. U kunt de API-sleutel ook verwijderen als u pakketten niet meer wilt pushen.
Scoping biedt een manier om afzonderlijke API-sleutels te maken voor verschillende doeleinden. Elke sleutel heeft een verloopperiode, en u kunt de sleutel beperken tot specifieke pakketten of glob-patronen. U kunt ook elke sleutel opgeven voor specifieke bewerkingen: nieuwe pakketten en pakketversies pushen, alleen nieuwe pakketversies pushen of de lijst opheffen.
Door middel van scoping kunt u API-sleutels maken voor verschillende personen die pakketten voor uw organisatie beheren, zodat ze alleen de machtigingen hebben die ze nodig hebben.
Zie voor meer informatie Gescope API-sleutels.
Publiceren met behulp van de .NET CLI of NuGet CLI
U kunt de .NET CLI of de NuGet CLI gebruiken om een pakket naar de server te pushen en te publiceren. Ga naar het tabblad voor het hulpprogramma dat u wilt gebruiken.
De .NET CLI (dotnet.exe) is het aanbevolen alternatief voor de NuGet CLI.
Voer in de map met het .nupkg-bestand de volgende opdracht uit. Vervang <package-file> door de naam van uw .nupkg-bestand en vervang deze door <API-key> uw API-sleutel.
dotnet nuget push <package-file> --api-key <API-key> --source https://api.nuget.org/v3/index.json
De uitvoer toont de resultaten van het publicatieproces:
Pushing <package-file> to 'https://www.nuget.org/api/v2/package'...
PUT https://www.nuget.org/api/v2/package/
Created https://www.nuget.org/api/v2/package/ 2891ms
Your package was pushed.
Zie dotnet nuget push voor meer informatie.
Fouten tijdens het publiceren
Wanneer u de push opdracht uitvoert, treedt er soms een fout op. Er kan bijvoorbeeld een fout optreden in de volgende situaties:
- Uw API-sleutel is ongeldig of verlopen.
- U probeert een pakket te publiceren met een id die al bestaat op de host.
- U kunt wijzigingen aanbrengen in een gepubliceerd pakket, maar vergeet het versienummer bij te werken voordat u het opnieuw probeert te publiceren.
Het foutbericht geeft doorgaans de bron van het probleem aan.
Stel dat de id Contoso.App.Logger.Test bestaat op nuget.org. Als u probeert een pakket met die id te publiceren, krijgt u de volgende fout:
Response status code does not indicate success: 403 (The specified API key is invalid, has expired, or does not have permission to access the specified package.).
Als u deze situatie wilt oplossen, controleert u het bereik, de vervaldatum en de waarde van uw API-sleutel. Als de sleutel geldig is, geeft de fout aan dat de pakket-id al bestaat op de host. U kunt het probleem oplossen door de pakket-id te wijzigen in uniek, het project opnieuw te bouwen, het .nupkg-bestand opnieuw te maken en de opdracht opnieuw uit te push voeren.
Het gepubliceerde pakket beheren
Wanneer uw pakket is gepubliceerd, ontvangt u een bevestigingsmail. Als u het gepubliceerde pakket wilt zien, gaat u naar nuget.org, selecteert u uw gebruikersnaam in de rechterbovenhoek en selecteert u Vervolgens Pakketten beheren.
Opmerking
Het kan even duren voordat uw pakket is geïndexeerd en wordt weergegeven in zoekresultaten waar anderen het kunnen vinden. Gedurende die tijd wordt uw pakket weergegeven onder Niet-vermelde pakketten en wordt op de pakketpagina het volgende bericht weergegeven:
Nu uw NuGet-pakket is gepubliceerd op nuget.org, kunnen andere ontwikkelaars het in hun projecten gebruiken.
Als u een pakket maakt dat niet nuttig is (zoals dit voorbeeldpakket uit een lege klassebibliotheek), of als u niet wilt dat het pakket zichtbaar is, kunt u het pakket opheffen om het te verbergen in zoekresultaten:
Nadat het pakket wordt weergegeven onder Gepubliceerde pakketten op de pagina Pakketten beheren , selecteert u het potloodpictogram naast de pakketvermelding.
Op de volgende pagina selecteert u Vermelding, schakelt u het selectievakje Lijst in zoekresultaten uit en selecteert u Opslaan.
Het pakket wordt nu weergegeven onder Niet-vermelde pakketten in Pakketten beheren en wordt niet meer weergegeven in zoekresultaten.
Opmerking
Om te voorkomen dat uw testpakket live is op nuget.org, kunt u pushen naar de nuget.org testsite op https://int.nugettest.org. Houd er rekening mee dat pakketten die zijn geüpload naar int.nugettest.org mogelijk niet behouden blijven.
Een README-bestand of een ander bestand toevoegen
U kunt een readme-bestand of andere bestanden in uw pakket opnemen.
Een readme-bestand toevoegen
Volg deze stappen om een read-me-bestand aan het pakket op te nemen:
Open het bestand project door Project>Bewerken Project bestand te selecteren.
Ga in het projectbestand naar het
PropertyGroupelement en voeg vervolgens eenPackageReadmeFileonderliggend element toe:<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> ... <PackageReadmeFile>readme.md</PackageReadmeFile> ... </PropertyGroup> </Project>Ga naar het
ItemGroupelement en voeg vervolgens eenNoneonderliggend element toe:<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> ... <PackageReadmeFile>readme.md</PackageReadmeFile> ... </PropertyGroup> <ItemGroup> ... <None Include="readme.md" Pack="true" PackagePath="\" /> ... </ItemGroup> </Project>
In het voorgaande voorbeeld geeft de eigenschap een bestand met de naam readme.md op in de hoofdmap van het project. Nadat u uw pakket hebt gebouwd, verpakt en gepubliceerd, geeft nuget.org de inhoud van het read-me bestand weer op de pakketpagina. Visual Studio geeft ook de inhoud van dat bestand weer in de gebruikersinterface van Package Manager.
In de volgende schermopname ziet u bijvoorbeeld het bestand read-me voor het HtmlAgilityPack pakket:
Andere bestanden toevoegen
Als u andere bestanden aan een pakket wilt toevoegen, opent u het bestand project door Project>Bewerken Project Bestand te selecteren. Voeg vervolgens een Content onderliggend element toe aan het ItemGroup element:
<ItemGroup>
<Content Include="other-content.md">
<Pack>true</Pack>
<PackagePath>\</PackagePath>
</Content>
</ItemGroup>
Zie Inclusief inhoud in een pakket voor meer informatie.
Gerelateerde video's
Zie voor video's over het gebruik van NuGet voor pakketbeheer .NET Package Management met NuGet voor beginners en NuGet voor beginners.
Verwante inhoud
Zie Maak een pakket met behulp van de nuget.exe CLI voor meer informatie over het maken van een NuGet-pakket met het Visual Studio .NET Framework.
Zie de volgende artikelen voor meer informatie over NuGet: