Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Ez a cikk a következő verziókra vonatkozik: ✔️ .NET 6 SDK és újabb verziók
Név
dotnet pack - A kódot nuGet-csomagba csomagolja.
Áttekintés
dotnet pack [<PROJECT>|<SOLUTION>]
[--artifacts-path <ARTIFACTS_DIR>] [-c|--configuration <CONFIGURATION>]
[--disable-build-servers] [--force] [--include-source] [--include-symbols]
[--interactive] [--no-build] [--no-dependencies] [--no-restore] [--nologo]
[-o|--output <OUTPUT_DIRECTORY>] [--runtime <RUNTIME_IDENTIFIER>]
[-s|--serviceable] [--tl:[auto|on|off]] [-v|--verbosity <LEVEL>]
[--version-suffix <VERSION_SUFFIX>]
dotnet pack -h|--help
Description
A dotnet pack parancs létrehozza a projektet, és NuGet-csomagokat hoz létre. A parancs eredménye egy NuGet-csomag (azaz egy .nupkg-fájl ).
Ha olyan csomagot szeretne létrehozni, amely tartalmazza a hibakeresési szimbólumokat, két lehetőség közül választhat:
-
--include-symbols- létrehozza a szimbólumcsomagot. -
--include-source- létrehozza a szimbólumcsomagot asrcforrásfájlokat tartalmazó mappával.
A csomagolt projekt NuGet-függőségei hozzá lesznek adva a .nuspec fájlhoz, így azok megfelelően feloldódnak a csomag telepítésekor. Ha a csomagolt projekt más projektekre hivatkozik, a többi projekt nem szerepel a csomagban. Jelenleg projektenként egy csomagnak kell lennie, ha projekt–projekt függőségekkel rendelkezik.
Alapértelmezés szerint dotnet pack először a projektet hozza létre. Ha el szeretné kerülni ezt a viselkedést, adja meg a --no-build lehetőséget. Ez a lehetőség gyakran hasznos a folyamatos integrációs (CI) buildelési forgatókönyvekben, ahol tudja, hogy a kód korábban készült.
Megjegyzés:
Bizonyos esetekben az implicit build nem hajtható végre. Ez akkor fordulhat elő, ha GeneratePackageOnBuild be van állítva, hogy elkerülje a build- és csomagcélok közötti ciklikus függőséget. A build akkor is meghiúsulhat, ha zárolt fájl vagy más probléma van.
Megadhatja az MSBuild tulajdonságokat a dotnet pack csomagolási folyamat parancsának. További információ: NuGet pack target properties and the MSBuild Command-Line Reference. A Példák szakasz bemutatja, hogyan használható az MSBuild -p kapcsoló néhány különböző forgatókönyvhöz.
Megjegyzés:
A webes projektek nem csomagolhatók.
Implicit visszaállítás
Nem kell futtatnia dotnet restore , mert implicit módon fut minden olyan parancs, amely visszaállítást igényel, például dotnet new, dotnet build, dotnet run, dotnet test, dotnet publishés dotnet pack. Az implicit visszaállítás letiltásához használja a --no-restore lehetőséget.
A dotnet restore parancs továbbra is hasznos bizonyos esetekben, amikor a explicit visszaállításnak van értelme, például folyamatos integrációs buildek az Azure DevOps Servicesben vagy olyan buildrendszerekben, amelyeknek explicit módon kell szabályozni a visszaállítást.
A NuGet-hírcsatornák kezelésével kapcsolatos információkért tekintse meg a dokumentációtdotnet restore.
Ez a parancs támogatja a dotnet restore hosszú formában átadott beállításokat (például --source). A rövid űrlapbeállítások, például -sa rövid űrlapok nem támogatottak.
Számítási feladatjegyzék letöltése
A parancs futtatásakor a rendszer elindítja a számítási feladatok hirdetési jegyzékeinek aszinkron háttérletöltését. Ha a letöltés a parancs befejeződésekor is fut, a letöltés leáll. További információ: Hirdetési jegyzékek.
Arguments
PROJECT | SOLUTION
A csomagolni kívánt projekt vagy megoldás. Ez vagy egy csproj-, vbproj- vagy fsproj-fájl elérési útja, vagy egy megoldásfájlhoz vagy könyvtárhoz. Ha nincs megadva, a parancs az aktuális könyvtárban keres egy projekt- vagy megoldásfájlt.
Beállítások
-
--artifacts-path <ARTIFACTS_DIR>A végrehajtott parancs összes buildkimeneti fájlja a megadott elérési út alatti almappákba kerül, projekt szerint elválasztva. További információ: Artifacts Kimeneti elrendezés. A .NET 8 SDK óta érhető el.
-
-c|--configuration <CONFIGURATION>Meghatározza a buildkonfigurációt. Ha a .NET 8 SDK-val vagy egy újabb verzióval fejleszt, a parancs alapértelmezés szerint a
Releasekonfigurációt használja azokhoz a projektekhez, amelyeknek a TargetFramework beállításanet8.0vagy újabb verzióra van beállítva. Az alapértelmezett buildkonfigurációDebugaz SDK korábbi verzióihoz és a korábbi cél-keretrendszerekhez. Felülbírálhatja az alapértelmezett beállítást a projektbeállításokban vagy ezzel a beállítással. További információ: a "dotnet publish" kiadási konfigurációs és "dotnet pack" kiadási konfigurációshasznál. -
--disable-build-serversKényszeríti a parancsot az állandó buildkiszolgálók figyelmen kívül hagyására. Ez a beállítás konzisztens módot biztosít a buildek gyorsítótárazásának letiltására, ami az alapoktól kényszeríti a buildeket. A gyorsítótárakra nem támaszkodó buildek akkor hasznosak, ha a gyorsítótárak valamilyen okból sérültek vagy helytelenek. A .NET 7 SDK óta érhető el.
--forceMinden függőséget feloldani kell, még akkor is, ha az utolsó visszaállítás sikeres volt. A jelölő megadása megegyezik a project.assets.json fájl törlésével.
--include-sourceTartalmazza a NuGet-csomagok hibakeresési szimbólumait a kimeneti könyvtárban található normál NuGet-csomagok mellett. A forrásfájlok a
srcszimbólumcsomag mappájában találhatók.--include-symbolsTartalmazza a NuGet-csomagok hibakeresési szimbólumait a kimeneti könyvtárban található normál NuGet-csomagok mellett.
-
--interactiveLehetővé teszi, hogy a parancs leálljon, és várja meg a felhasználói bemenetet vagy műveletet. Például a hitelesítés befejezéséhez.
--no-buildNem készíti el a projektet csomagolás előtt. Implicit módon beállítja a jelölőt
--no-restoreis.--no-dependenciesFigyelmen kívül hagyja a projektről projektre mutató hivatkozásokat, és csak a gyökérprojektet állítja vissza.
--no-restoreNem hajt végre implicit visszaállítást a parancs futtatásakor.
--nologoNem jelenik meg az indítási szalagcím vagy a szerzői jogi üzenet.
-o|--output <OUTPUT_DIRECTORY>A beépített csomagokat a megadott könyvtárba helyezi.
.NET 7.0.200 SDK
A 7.0.200 SDK-ban, ha megadja a
--outputparancs megoldáson való futtatásakor a lehetőséget, a parancssori felület hibát ad ki. Ez egy regresszió, és a .NET SDK 7.0.201-ben és újabb verzióiban lett javítva.
--runtime <RUNTIME_IDENTIFIER>Megadja a cél futtatókörnyezetet a csomagok visszaállításához. A futtatókörnyezet-azonosítók (RID-k) listáját a RID-katalógusban találja.
-s|--serviceableBeállítja a használható jelzőt a csomagban. További információ : .NET Blog: .NET Framework 4.5.1 Támogatja a Microsoft biztonsági frissítéseit a .NET NuGet-kódtárakhoz.
-
--tl:[auto|on|off]Megadja, hogy a terminálnaplózót használni kell-e a buildkimenethez. Az alapértelmezett érték az
auto, amely először ellenőrzi a környezetet a terminálnaplózás engedélyezése előtt. A környezet ellenőrzi, hogy a terminál képes-e modern kimeneti funkciókat használni, és nem használ átirányított szabványos kimenetet az új naplózó engedélyezése előtt.onkihagyja a környezetellenőrzést, és engedélyezi a terminálnaplózást.offkihagyja a környezetellenőrzést, és az alapértelmezett konzolnaplózót használja.A Terminálnaplózó megjeleníti a visszaállítási fázist, majd a buildelési fázist. Az egyes fázisok során az éppen épülő projektek a terminál alján jelennek meg. Az épület összes projektje az MSBuild-célt és a célra fordított időt is kimeneteli. Ebben az információban további információt talál a buildről. Amikor egy projekt befejeződött, egyetlen "befejezett build" szakasz lesz megírva, amely rögzíti a következőt:
- Az épített projekt neve.
- A cél-keretrendszer (ha több-célzott).
- A build állapota.
- A build elsődleges kimenete (amely hivatkozásra van hivatkozva).
- A projekthez létrehozott diagnosztikák.
Ez a beállítás a .NET 8-tól érhető el.
-
-v|--verbosity <LEVEL>A parancs részletességi szintjét állítja be. Az engedélyezett értékek a következők
q[uiet]: ,m[inimal],n[ormal]d[etailed]ésdiag[nostic]. További információért lásd LoggerVerbosity. --version-suffix <VERSION_SUFFIX>Az MSBuild tulajdonság értékét
VersionSuffixhatározza meg. Ennek a tulajdonságnak a csomagverzióra gyakorolt hatása aVersionkövetkező táblázatban látható értékektől ésVersionPrefixtulajdonságoktól függ:Tulajdonságok értékekkel Csomag verziója None 1.0.0Version$(Version)VersionPrefixcsak$(VersionPrefix)VersionSuffixcsak1.0.0-$(VersionSuffix)VersionPrefixésVersionSuffix$(VersionPrefix)-$(VersionSuffix)Ha használni
--version-suffixszeretné, adja megVersionPrefixés neVersiona projektfájlban. Ha például igen,VersionPrefixés ezt adja át0.1.2--version-suffix rc.1, a csomag verziója leszdotnet pack.0.1.2-rc.1Ha
Versionvan értéke, és ezt adja át--version-suffixdotnet pack, a megadott--version-suffixérték figyelmen kívül lesz hagyva.-
-?|-h|--helpA parancs használatának leírását nyomtatja ki.
Példák
Csomagolja be a projektet az aktuális könyvtárba:
dotnet packA projekt csomagolása
app1:dotnet pack ~/projects/app1/project.csprojCsomagolja be a projektet az aktuális könyvtárba, és helyezze az eredményül kapott csomagokat a
nupkgsmappába:dotnet pack --output nupkgsCsomagolja be a projektet az aktuális könyvtárba,
nupkgsés hagyja ki a buildelési lépést:dotnet pack --no-build --output nupkgsHa a projekt verzió utótagja a
<VersionSuffix>$(VersionSuffix)</VersionSuffix>fájlban konfigurálva van, csomagolja be az aktuális projektet, és frissítse az eredményül kapott csomagverziót a megadott utótaggal:dotnet pack --version-suffix "ci-1234"Állítsa be a csomagverziót
2.1.0azPackageVersionMSBuild tulajdonsággal:dotnet pack -p:PackageVersion=2.1.0Csomagolja be a projektet egy adott célkerethez:
dotnet pack -p:TargetFrameworks=net45Csomagolja be a projektet, és használjon egy adott futtatókörnyezetet (Windows) a visszaállítási művelethez:
dotnet pack --runtime win-x64Csomagolja be a projektet egy .nuspec fájllal:
dotnet pack ~/projects/app1/project.csproj -p:NuspecFile=~/projects/app1/project.nuspec -p:NuspecBasePath=~/projects/app1/nugetA használatról és
NuspecFilea használatrólNuspecBasePathNuspecPropertiesaz alábbi forrásokban talál további információt: