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říklad 1.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í), quietnebo detailed.

  • -Version

    Přepíše číslo verze ze .nuspec souboru.

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:

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.