pack command (NuGet CLI)

A következőkre vonatkozik: csomaglétrehozásTámogatott verziók: 2.7+

Létrehoz egy NuGet-csomagot a megadott .nuspec vagy projektfájl alapján. A dotnet pack parancs (lásd : dotnet-parancsok) és msbuild -t:pack (lásd : MSBuild-célok) alternatívként használhatók.

Important

PackageReference-alapú projektek használata vagy msbuild -t:pack használatadotnet pack. A NuGet 6.5+-os verziójától kezdve a csomagparancs hibaüzenetet fog adni a projekttípusok csomagolásának megkísérlésekor. A korábbi verziók megpróbálnának csomagolni, de előfordulhat, hogy a létrehozott csomag nem megfelelő. A Mono alatt nem támogatott a csomag projektfájlból való létrehozása. A fájlban lévő .nuspec nem helyi elérési utakat unix stílusú elérési utakra is módosítania kell, mivel nuget.exe nem konvertálja magát Windows elérési utat.

Usage

nuget pack <nuspecPath | projectPath> [options] [-Properties ...]

ahol <nuspecPath> és <projectPath> adja meg a projektfájlt vagy a .nuspec projektfájlt.

Beállítások

  • -BasePath

    Beállítja a .nuspec fájlban definiált fájlok alap elérési útját.

  • -Build

    Megadja, hogy a projektet a csomag létrehozása előtt kell felépíteni.

  • -ConfigFile

    Az alkalmazni kívánt NuGet-konfigurációs fájl. Ha nincs megadva, %AppData%\NuGet\NuGet.Config (Windows) vagy ~/.nuget/NuGet/NuGet.Config~/.config/NuGet/NuGet.Config (Mac/Linux) van használatban.

  • -Deterministic

    (7,9+) Csomagok létrehozása determinisztikus módban. Ez bit-azonos csomagokat hoz létre ugyanahhoz a bemenethez (forráskód, projektfájl, buildkonfiguráció), az időbélyegek ismert kikötésével. Megtudhatja DeterministicTimestamp , hogyan reprodukálható azonos dátummal/időpontokkal.

  • -DeterministicTimestamp

    (7,9+) Adjon meg egy időbélyeget, amely a NuGet-csomaghoz hozzáadott összes fájl fájlmódosítási dátuma/ideje. Lehet dátum/idő RFC 3339 formátumban (például 1996-12-19T16:39:57-08:00), ez lehet az 1970. január 1-jén 00:00:00 (UTC) óta eltelt nem szökő másodpercek száma (más néven Unix-idő), vagy lehet a speciális sztring true (alapértelmezett, az aktuális falióra-idő használata), vagy false a fájlidők módosítása determinisztikus csomagok létrehozásakor. Ha nincs engedélyezve, a rendszer figyelmen kívül hagyja Deterministic ezt a beállítást.

  • -Exclude

    Egy vagy több, a csomag létrehozásakor kizárandó helyettesítő karaktermintát ad meg. Több minta megadásához ismételje meg a -Exclude jelölőt. Lásd az alábbi példát.

  • -ExcludeEmptyDirectories

    Megakadályozza az üres könyvtárak felvételét a csomag létrehozásakor.

  • -ForceEnglishOutput

    (3,5+) Kényszeríti nuget.exe, hogy invariáns, angol nyelvű kultúrával fusson.

  • -?|-help

    Megjeleníti a parancs súgóadatait.

  • -IncludeReferencedProjects

    Azt jelzi, hogy a beépített csomagnak függőségként vagy a csomag részeként hivatkozott projekteket kell tartalmaznia. Ha egy hivatkozott projekt rendelkezik a projekt nevével megegyező nevű .nuspec fájllal, akkor a hivatkozott projekt függőségként lesz hozzáadva. Ellenkező esetben a hivatkozott projekt a csomag részeként lesz hozzáadva.

  • -InstallPackageToOutputPath

    Adja meg, hogy a parancs előkészítse-e a csomag kimeneti könyvtárát a megosztás hírcsatornaként való támogatásához.

  • -MinClientVersion

    Állítsa be a létrehozott csomag minClientVersion attribútumát. Ez az érték felülírja a fájlban .nuspec meglévő minClientVersion attribútum értékét (ha van ilyen).

  • -MSBuildPath

    (4,0+) A parancshoz használni kívánt MSBuild elérési útját adja meg, elsőbbséget élvezve a paranccsal szemben -MSBuildVersion.

  • -MSBuildVersion

    (3,2+) Az MSBuild ezen paranccsal használandó verzióját adja meg. Támogatott értékek: 4, 12, 14, 15,1, 15,3, 15,4, 15,5, 15,6, 15,7, 15,8, 15,9. Alapértelmezés szerint az elérési úton található MSBuild elem van kiválasztva, ellenkező esetben alapértelmezés szerint az MSBuild legmagasabb telepített verziója lesz.

  • -NoDefaultExcludes

    Megakadályozza a NuGet-csomagfájlok és -fájlok és mappák alapértelmezett kizárását ponttal kezdődően, például .svn és .gitignore.

  • -NonInteractive

    Letiltja a felhasználói bemenetre vagy megerősítésre vonatkozó kéréseket.

  • -NoPackageAnalysis

    Azt határozza meg, hogy a csomag létrehozása után ne futtassa a csomagelemzést.

  • -OutputDirectory

    Azt a mappát adja meg, amelyben a létrehozott csomag található. Ha nincs megadva mappa, a rendszer az aktuális mappát használja.

  • -OutputFileNamesWithoutVersion

    Adja meg, hogy a parancs előkészítse-e a csomag kimeneti nevét a verzió nélkül.

  • -PackagesDirectory

    Megadja a csomagok mappát.

  • -p|-Properties

    A többi beállítás után a parancssorban kell utoljára megjelennie. Megadja azoknak a tulajdonságoknak a listáját, amelyek felülbírálják a project fájl értékeit; lásd: Common MSBuild Project Properties for property names. A Tulajdonságok argumentum itt a token=érték párok listája pontosvesszővel elválasztva, ahol a .nuspec fájl minden előfordulását $token$ a megadott értékre cseréli a rendszer. Az értékek idézőjelekben sztringek lehetnek. Vegye figyelembe, hogy a "Configuration" tulajdonság esetében az alapértelmezett hibakeresés a "Hibakeresés". Kiadási konfigurációra való váltáshoz használja -Properties Configuration=Releasea következőt: . A tulajdonságoknak általában ugyanazoknak kell lenniük, mint a megfelelő projekt buildelése során, hogy elkerülhessék a potenciálisan furcsa viselkedést.

  • -SolutionDirectory

    Megadja a megoldáskönyvtárat.

  • -Suffix

    (3.4.4+) Utótagot fűz a belsőleg létrehozott verziószámhoz, amely általában build vagy más kiadás előtti azonosítók hozzáfűzésére szolgál. A használat -suffix nightly például létrehoz egy olyan verziószámmal rendelkező csomagot, mint a 1.2.3-nightly. Az utótagoknak betűvel kell kezdődniük, hogy elkerüljék a figyelmeztetéseket, a hibákat és a lehetséges inkompatibilitásokat a NuGet és a NuGet Csomagkezelő különböző verzióival.

  • -SymbolPackageFormat

    Szimbólumcsomag létrehozásakor választhat a formátum és symbols.nupkg a snupkg formátum között.

  • -Symbols

    Megadja, hogy a csomag forrásokat és szimbólumokat tartalmaz-e. Ha .nuspec fájllal használja, ez létrehoz egy normál NuGet-csomagfájlt és a megfelelő szimbólumcsomagot. Alapértelmezés szerint létrehoz egy örökölt szimbólumcsomagot. A szimbólumcsomagok új ajánlott formátuma a .snupkg. Lásd: Szimbólumcsomagok (.snupkg) létrehozása.

  • -Tool

    Megadja, hogy a projekt kimeneti fájljait a tools csomag mappájába kell helyezni.

  • -Verbosity [normal|quiet|detailed]

    A kimenetben megjelenített részletek mennyiségét adja meg: normal (az alapértelmezett) quietvagy detaileda .

  • -Version

    Felülbírálja a fájl verziószámát .nuspec .

Lásd még a környezeti változókat

A fejlesztési függőségek kizárása

Egyes NuGet-csomagok fejlesztési függőségekként hasznosak, amelyek segítenek a saját kódtár létrehozásához, de nem feltétlenül szükségesek tényleges csomagfüggőségekként.

A pack parancs figyelmen kívül hagyja package azokat a bejegyzéseket, amelyekben packages.config az developmentDependency attribútum be van állítva true. Ezek a bejegyzések nem lesznek függőségként belefoglalva a létrehozott csomagba.

Vegyük például az alábbi packages.config fájlt a forrásprojektben:

<?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>

Ebben a projektben a létrehozott nuget pack csomag függőségben jQuery lesz, de microsoft-web-helpers nem netfx-Guard.

A csomagokra vonatkozó figyelmeztetések letiltása

Bár ajánlott az összes NuGet-figyelmeztetést feloldani a csomagműveletek során, bizonyos helyzetekben ezek mellőzése indokolt.

Ezt a következő módon érheti el:

nuget.exe pack package.nuspec -Properties NoWarn=NU5104

Példák

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"

Megjegyzés:

Az pack SDK-stílusú projektek parancsa nem támogatott, nem használja dotnet pack vagy msbuild -t:pack csomagolja be ezeket a projekteket.