Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro: vytvoření balíčku • Podporované verze: 2.7+
Vytvoří balíček NuGet na základě zadaného souboru .nuspec nebo projektu. Příkaz dotnet pack (viz příkazy dotnet) a msbuild -t:pack (viz cíle MSBuild) lze použít jako alternativy.
Important
Použijte dotnet pack nebo msbuild -t:pack pro projekty založené na PackageReference . Od NuGetu verze 6.5 nebo novější dojde k chybě při pokusu o zabalení těchto typů projektů. Starší verze by se pokusily zabalit, ale vygenerovaný balíček nemusí být správný.
V části Mono není podporováno vytvoření balíčku ze souboru projektu. Musíte také upravit jiné než místní cesty v .nuspec souboru na cesty ve stylu Unixu, protože nuget.exe nepřevádí názvy cest Windows samotné.
Usage
nuget pack <nuspecPath | projectPath> [options] [-Properties ...]
kde <nuspecPath> a <projectPath> zadejte .nuspec soubor projektu, v uvedeném pořadí.
Možnosti
-BasePathNastaví základní cestu k souborům definovaným v souboru .nuspec .
-BuildUrčuje, že projekt by měl být sestaven před sestavením balíčku.
-ConfigFileKonfigurační soubor NuGet, který se má použít. Pokud není zadaný,
%AppData%\NuGet\NuGet.Config(Windows) nebo~/.nuget/NuGet/NuGet.Config~/.config/NuGet/NuGet.Config(Mac/Linux), použije se.-Deterministic(7,9+) Sestavení balíčků v deterministickém režimu Tím se vytvoří bitové identické balíčky pro stejný vstup (zdrojový kód, soubor projektu, konfigurace sestavení) se známým upozorněním časových razítek. Podívejte
DeterministicTimestampse, jak reprodukovat shodným datem a časem.-DeterministicTimestamp(7,9+) Zadejte časové razítko, které se používá jako datum a čas změny souboru pro všechny soubory přidané do balíčku NuGet. Může to být datum a čas ve formátu RFC 3339 (například
1996-12-19T16:39:57-08:00), může to být počet nepřeskočných sekund od 00:00:00 UTC 1. ledna 1970 (označuje se také jako unixový čas), nebo může to být speciální řetězectrue(výchozí hodnota, použití aktuálního času hodin) nebofalseneupravovat časy souborů při vytváření deterministických balíčků. Tato možnost se ignoruje, pokudDeterministicnení povolená.-ExcludeUrčuje jeden nebo více vzorců zástupných znaků, které se mají vyloučit při vytváření balíčku. Pokud chcete zadat více vzorů, opakujte příznak -Exclude. Viz příklad níže.
-ExcludeEmptyDirectoriesZabraňuje zahrnutí prázdných adresářů při sestavování balíčku.
-ForceEnglishOutput(3,5+) Vynutí nuget.exe spuštění pomocí invariantní anglické jazykové verze.
-?|-helpZobrazí informace nápovědy pro příkaz.
-IncludeReferencedProjectsOznačuje, že sestavený balíček by měl obsahovat odkazované projekty buď jako závislosti, nebo jako součást balíčku. Pokud má odkazovaný projekt odpovídající
.nuspecsoubor se stejným názvem jako projekt, přidá se tento odkazovaný projekt jako závislost. V opačném případě se odkazovaný projekt přidá jako součást balíčku.-InstallPackageToOutputPathUrčete, jestli má příkaz připravit výstupní adresář balíčku pro podporu sdílení jako informačního kanálu.
-MinClientVersionNastavte atribut minClientVersion pro vytvořený balíček. Tato hodnota přepíše hodnotu existujícího atributu minClientVersion (pokud existuje) v
.nuspecsouboru.-MSBuildPath(4.0+) Určuje cestu nástroje MSBuild, která se má použít s příkazem a má přednost před
-MSBuildVersion.-MSBuildVersion(3.2+) Určuje verzi nástroje MSBuild, která se má použít s tímto příkazem. Podporované hodnoty jsou 4, 12, 14, 15.1, 15.3, 15.4, 15.5, 15.6, 15.7, 15.8, 15.9. Ve výchozím nastavení se vybere msBuild ve vaší cestě, jinak se ve výchozím nastavení nastaví na nejvyšší nainstalovanou verzi nástroje MSBuild.
-NoDefaultExcludesZabraňuje výchozímu vyloučení souborů balíčků NuGet a souborů a složek začínající tečkou, například
.svna.gitignore.-NonInteractivePotlačí výzvy k zadání uživatelského vstupu nebo potvrzení.
-NoPackageAnalysisUrčuje, že balíček by neměl po sestavení balíčku spouštět analýzu balíčků.
-OutputDirectoryUrčuje složku, ve které je uložený vytvořený balíček. Pokud není zadána žádná složka, použije se aktuální složka.
-OutputFileNamesWithoutVersionUrčete, jestli má příkaz připravit název výstupu balíčku bez verze.
-PackagesDirectoryUrčuje složku balíčků.
-p|-PropertiesMěla by se na příkazovém řádku zobrazit jako poslední za dalšími možnostmi. Určuje seznam vlastností, které přepisuje hodnoty v souboru project; viz Common MSBuild Project Vlastnosti pro názvy vlastností. Argument Vlastnosti je seznam dvojic token=hodnota oddělený středníky, kde každý výskyt
$token$v.nuspecsouboru bude nahrazen danou hodnotou. Hodnoty můžou být řetězce v uvozovkách. Všimněte si, že pro vlastnost "Configuration" výchozí je "Debug". Chcete-li změnit konfiguraci vydané verze, použijte-Properties Configuration=Release. Obecně platí, že vlastnosti by měly být stejné, jaké byly použity během odpovídajícího sestavení projektu, aby se zabránilo potenciálně neobvyklému chování.-SolutionDirectoryUrčuje adresář řešení.
-Suffix(3.4.4+) Připojí k interně vygenerovanému číslu verze příponu, která se obvykle používá pro připojení buildu nebo jiných identifikátorů předběžné verze. Například použití
-suffix nightlyvytvoří balíček s číslem verze, například1.2.3-nightly. Přípony musí začínat písmenem, aby nedocházelo k upozorněním, chybám a potenciálním nekompatibilitě s různými verzemi NuGetu a Správce balíčků NuGet.-SymbolPackageFormatPři vytváření balíčku symbolů si můžete vybrat mezi formátem a
symbols.nupkgformátemsnupkg.-SymbolsUrčuje, že balíček obsahuje zdroje a symboly. Při použití se souborem
.nuspecse vytvoří běžný soubor balíčku NuGet a odpovídající balíček symbolů. Ve výchozím nastavení vytvoří starší balíček symbolů. Nový doporučený formát balíčků symbolů je .snupkg. Viz Vytváření balíčků symbolů (.snupkg).-ToolUrčuje, že výstupní soubory projektu by se měly umístit do
toolssložky v balíčku.-Verbosity [normal|quiet|detailed]Určuje množství podrobností zobrazených ve výstupu:
normal(výchozí),quietnebodetailed.-VersionPřepíše číslo verze ze
.nuspecsouboru.
Viz také proměnné prostředí.
Vyloučení vývojových závislostí
Některé balíčky NuGet jsou užitečné jako vývojové závislosti, které vám pomůžou vytvořit vlastní knihovnu, ale nemusí být nutně potřeba jako skutečné závislosti balíčků.
Příkaz pack bude ignorovat package položky, které packages.config mají developmentDependency atribut nastaven na true. Tyto položky nebudou zahrnuty jako závislosti v vytvořeném balíčku.
Představte si například následující packages.config soubor ve zdrojovém projektu:
<?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>
Pro tento projekt bude balíček vytvořený nuget pack na závislosti, jQuerymicrosoft-web-helpers ale nikoli netfx-Guard.
Potlačení upozornění balíčku
I když se doporučuje vyřešit všechna upozornění NuGet během operací balíčku, v určitých situacích je potlačení je zaručeno.
Toho můžete dosáhnout následujícím způsobem:
balíček nuget.exe package.nuspec -Properties NoWarn=NU5104
Examples
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"
Note
Příkaz pack pro projekty ve stylu sady SDK není podporován, použijte dotnet pack nebo msbuild -t:pack zabalte tyto projekty.