pack command (Rozhraní příkazového řádku NuGet)
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.
Důležité
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 systému Windows samotné.
Využití
nuget pack <nuspecPath | projectPath> [options] [-Properties ...]
kde <nuspecPath>
a <projectPath>
zadejte .nuspec
soubor projektu, v uvedeném pořadí.
Možnosti
-BasePath
Nastaví základní cestu k souborům definovaným v souboru .nuspec .
-Build
Určuje, že projekt by měl být sestaven před sestavením balíčku.
-ConfigFile
Konfigurač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.-Exclude
Urč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.
-ExcludeEmptyDirectories
Zabraňuje zahrnutí prázdných adresářů při sestavování balíčku.
-ForceEnglishOutput
(3,5+) Vynutí spuštění nuget.exe pomocí invariantní anglické jazykové verze.
-?|-help
Zobrazí informace nápovědy pro příkaz.
-IncludeReferencedProjects
Označ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í
.nuspec
soubor 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.-InstallPackageToOutputPath
Určete, jestli má příkaz připravit výstupní adresář balíčku pro podporu sdílení jako informačního kanálu.
-MinClientVersion
Nastavte atribut minClientVersion pro vytvořený balíček. Tato hodnota přepíše hodnotu existujícího atributu minClientVersion (pokud existuje) v
.nuspec
souboru.-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.
-NoDefaultExcludes
Zabraňuje výchozímu vyloučení souborů balíčků NuGet a souborů a složek začínající tečkou, například
.svn
a.gitignore
.-NonInteractive
Potlačí výzvy k zadání uživatelského vstupu nebo potvrzení.
-NoPackageAnalysis
Určuje, že balíček by neměl po sestavení balíčku spouštět analýzu balíčků.
-OutputDirectory
Urč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.
-OutputFileNamesWithoutVersion
Určete, jestli má příkaz připravit název výstupu balíčku bez verze.
-PackagesDirectory
Určuje složku balíčků.
-p|-Properties
Mě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 projektu; Viz Běžné vlastnosti projektu NÁSTROJE MSBuild pro názvy vlastností. Argument Vlastnosti je seznam dvojic token=hodnota oddělený středníky, kde každý výskyt
$token$
v.nuspec
souboru 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í.-SolutionDirectory
Urč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 nightly
vytvoří 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.-SymbolPackageFormat
Při vytváření balíčku symbolů si můžete vybrat mezi formátem a
symbols.nupkg
formátemsnupkg
.-Symbols
Určuje, že balíček obsahuje zdroje a symboly. Při použití se souborem
.nuspec
se 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).-Tool
Určuje, že výstupní soubory projektu by se měly umístit do
tools
složky v balíčku.-Verbosity [normal|quiet|detailed]
Určuje množství podrobností zobrazených ve výstupu:
normal
(výchozí),quiet
nebodetailed
.-Version
Přepíše číslo verze ze
.nuspec
souboru.
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, jQuery
microsoft-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:
nuget.exe pack package.nuspec -Properties NoWarn=NU5104
Příklady
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"
Poznámka:
Příkaz pack
pro projekty ve stylu sady SDK není podporován, použijte dotnet pack
nebo msbuild -t:pack
zabalte tyto projekty.