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.
Van toepassing op: het maken van pakketten • Ondersteunde versies: 2.7+
Hiermee maakt u een NuGet-pakket op basis van het opgegeven .nuspec - of projectbestand. De dotnet pack opdracht (zie dotnet-opdrachten) en msbuild -t:pack (zie MSBuild-doelen) kunnen als alternatief worden gebruikt.
Important
Gebruik dotnet pack of msbuild -t:pack voor op PackageReference gebaseerde projecten. Vanaf NuGet versie 6.5+ wordt met de opdracht pack een fout weergegeven bij het inpakken van deze projecttypen. Eerdere versies proberen in te pakken, maar het gegenereerde pakket is mogelijk niet juist.
Onder Mono wordt het maken van een pakket op basis van een projectbestand niet ondersteund. U moet ook niet-lokale paden in het .nuspec bestand aanpassen aan Unix-stijlpaden, omdat nuget.exe Windows padnamen zelf niet converteert.
Usage
nuget pack <nuspecPath | projectPath> [options] [-Properties ...]
waarbij <nuspecPath> respectievelijk <projectPath> het projectbestand of het .nuspec projectbestand wordt opgegeven.
Opties
-BasePathHiermee stelt u het basispad in van de bestanden die zijn gedefinieerd in het .nuspec-bestand .
-BuildHiermee geeft u op dat het project moet worden gebouwd voordat het pakket wordt gebouwd.
-ConfigFileHet NuGet-configuratiebestand dat moet worden toegepast. Als dit niet is opgegeven,
%AppData%\NuGet\NuGet.Config(Windows) of~/.nuget/NuGet/NuGet.Config~/.config/NuGet/NuGet.Config(Mac/Linux) wordt gebruikt.-Deterministic(7,9+) Bouw pakketten in deterministische modus. Dit produceert bit-identieke pakketten voor dezelfde invoer (broncode, projectbestand, buildconfiguratie), met een bekend voorbehoud van tijdstempels. Meer informatie
DeterministicTimestampover het reproduceren met identieke datum/tijden.-DeterministicTimestamp(7,9+) Geef een tijdstempel op die wordt gebruikt als de datum/tijd voor bestandswijziging voor alle bestanden die zijn toegevoegd aan het NuGet-pakket. Het kan een datum/tijd zijn in RFC 3339-indeling (zoals
1996-12-19T16:39:57-08:00), het kan het aantal seconden zijn dat niet schrikkelt sinds 00:00:00 UTC op 1 januari 1970 (ook wel de Unix-tijd genoemd), of het kan de speciale tekenreekstrue(standaard, de huidige kloktijd van de wand gebruiken) zijn offalseom bestandstijden niet te wijzigen bij het maken van deterministische pakketten. Deze optie wordt genegeerd alsDeterministicdeze niet is ingeschakeld.-ExcludeHiermee geeft u een of meer jokertekenpatronen op die moeten worden uitgesloten bij het maken van een pakket. Als u meer dan één patroon wilt opgeven, herhaalt u de -Exclude vlag. Zie het voorbeeld hieronder.
-ExcludeEmptyDirectoriesVoorkomt het opnemen van lege mappen bij het bouwen van het pakket.
-ForceEnglishOutput(3,5+) Dwingt nuget.exe uit te voeren met behulp van een invariante, Engelse cultuur.
-?|-helpGeeft help-informatie weer voor de opdracht.
-IncludeReferencedProjectsGeeft aan dat het ingebouwde pakket projecten moet bevatten waarnaar wordt verwezen, hetzij als afhankelijkheden of als onderdeel van het pakket. Als een project waarnaar wordt verwezen een overeenkomend
.nuspec-bestand met dezelfde naam heeft als het project, wordt dat project als een afhankelijkheid toegevoegd. Anders wordt het project waarnaar wordt verwezen toegevoegd als onderdeel van het pakket.-InstallPackageToOutputPathGeef op of de opdracht de uitvoermap van het pakket moet voorbereiden om share als feed te ondersteunen.
-MinClientVersionStel het kenmerk minClientVersion in voor het gemaakte pakket. Met deze waarde wordt de waarde van het bestaande minClientVersion-kenmerk (indien aanwezig) in het
.nuspecbestand overschreven.-MSBuildPath(4,0+) Hiermee geeft u het pad van MSBuild te gebruiken met de opdracht, prioriteit boven
-MSBuildVersion.-MSBuildVersion(3.2+) Hiermee geeft u de versie van MSBuild moet worden gebruikt met deze opdracht. Ondersteunde waarden zijn 4, 12, 14, 15.1, 15.3, 15.4, 15.5, 15.6, 15.7, 15.8, 15.9. Standaard wordt de MSBuild in uw pad gekozen, anders wordt deze standaard ingesteld op de hoogst geïnstalleerde versie van MSBuild.
-NoDefaultExcludesVoorkomt standaarduitsluiting van NuGet-pakketbestanden en -bestanden en -mappen die beginnen met een punt, zoals
.svnen.gitignore.-NonInteractiveOnderdrukt vragen om gebruikersinvoer of bevestigingen.
-NoPackageAnalysisHiermee geeft u op dat pakket geen pakketanalyse mag uitvoeren nadat het pakket is gebouwd.
-OutputDirectoryHiermee geeft u de map waarin het gemaakte pakket wordt opgeslagen. Als er geen map is opgegeven, wordt de huidige map gebruikt.
-OutputFileNamesWithoutVersionGeef op of de opdracht de naam van de pakketuitvoer moet voorbereiden zonder de versie.
-PackagesDirectoryHiermee geeft u de map pakketten.
-p|-PropertiesMoet na andere opties als laatste op de opdrachtregel worden weergegeven. Hiermee geeft u een lijst met eigenschappen die waarden in het bestand project overschrijven. Zie Common MSBuild Project Properties for property names. Het argument Eigenschappen hier is een lijst met token=waardeparen, gescheiden door puntkomma's, waarbij elk exemplaar van
$token$het.nuspecbestand wordt vervangen door de opgegeven waarde. Waarden kunnen tekenreeksen tussen aanhalingstekens zijn. Houd er rekening mee dat voor de eigenschap 'Configuratie' de standaardwaarde 'Fouten opsporen' is. Als u wilt overschakelen naar een releaseconfiguratie, gebruikt u-Properties Configuration=Release. Over het algemeen moeten eigenschappen hetzelfde zijn die zijn gebruikt tijdens de bijbehorende projectbuild, om mogelijk vreemd gedrag te voorkomen.-SolutionDirectoryHiermee geeft u de oplossingsmap.
-Suffix(3.4.4+) Voegt een achtervoegsel toe aan het intern gegenereerde versienummer, dat doorgaans wordt gebruikt voor het toevoegen van build- of andere pre-release-id's. Als u
-suffix nightlybijvoorbeeld een pakket maakt met een versienummer zoals1.2.3-nightly. Achtervoegsels moeten beginnen met een letter om waarschuwingen, fouten en mogelijke incompatibiliteit met verschillende versies van NuGet en de NuGet-Pakketbeheer te voorkomen.-SymbolPackageFormatWanneer u een symboolpakket maakt, kunt u kiezen tussen de
snupkgenesymbols.nupkgindeling.-SymbolsHiermee geeft u op dat het pakket bronnen en symbolen bevat. Bij gebruik met een
.nuspec-bestand wordt hiermee een gewoon NuGet-pakketbestand en het bijbehorende symbolenpakket gemaakt. Standaard wordt er een verouderd symboolpakket gemaakt. De nieuwe aanbevolen indeling voor symboolpakketten is .snupkg. Zie Symbolenpakketten maken (.snupkg).-ToolHiermee geeft u op dat de uitvoerbestanden van het project moeten worden geplaatst in de
toolsmap in het pakket.-Verbosity [normal|quiet|detailed]Hiermee geeft u de hoeveelheid details op die wordt weergegeven in de uitvoer:
normal(de standaardinstelling),quietofdetailed.-VersionHiermee wordt het versienummer van het
.nuspecbestand overschreven.
Zie ook Omgevingsvariabelen
Ontwikkelingsafhankelijkheden uitsluiten
Sommige NuGet-pakketten zijn handig als ontwikkelingsafhankelijkheden, waarmee u uw eigen bibliotheek kunt ontwerpen, maar die niet per se nodig zijn als werkelijke pakketafhankelijkheden.
De pack opdracht negeert package vermeldingen waarin packages.config het developmentDependency kenmerk is ingesteld op true. Deze vermeldingen worden niet opgenomen als afhankelijkheden in het gemaakte pakket.
Denk bijvoorbeeld aan het volgende packages.config bestand in het bronproject:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="jQuery" version="1.5.2" />
<package id="netfx-Guard" version="1.3.3.2" developmentDependency="true" />
<package id="microsoft-web-helpers" version="1.15" />
</packages>
Voor dit project heeft het pakket dat is gemaakt door nuget pack een afhankelijkheid jQuery van en microsoft-web-helpers niet netfx-Guard.
Packwaarschuwingen onderdrukken
Hoewel het wordt aanbevolen om alle NuGet-waarschuwingen tijdens uw packbewerkingen op te lossen, is het in bepaalde situaties gerechtvaardigd om ze te onderdrukken.
U kunt dat op de volgende manier bereiken:
nuget.exe pack package.nuspec -Properties NoWarn=NU5104
Voorbeelden
nuget pack
nuget pack foo.nuspec
nuget pack foo.csproj
nuget pack foo.csproj -Properties Configuration=Release
nuget pack foo.csproj -Build -Symbols -Properties owners=janedoe,xiaop;version="1.0.5"
# Create a package from project foo.csproj, using MSBuild version 12 to build the project
nuget pack foo.csproj -Build -Symbols -MSBuildVersion 12 -Properties owners=janedoe,xiaop;version="1.0.5"
# Create a package from project foo.nuspec and the corresponding symbol package using the new recommended format .snupkg
nuget pack foo.nuspec -Symbols -SymbolPackageFormat snupkg
nuget pack foo.nuspec -Version 2.1.0
nuget pack foo.nuspec -Version 1.0.0 -MinClientVersion 2.5
nuget pack Package.nuspec -exclude "*.exe" -exclude "*.bat"
Opmerking
De pack opdracht voor SDK-projecten wordt niet ondersteund, gebruikt dotnet pack of msbuild -t:pack verpakt deze projecten in plaats daarvan.