dotnet nuget push
Ez a cikk a következő verziókra vonatkozik: ✔️ .NET Core 3.1 SDK és újabb verziók
Name
dotnet nuget push
– Leküld egy csomagot a kiszolgálóra, és közzéteszi azt.
Áttekintés
dotnet nuget push [<ROOT>] [-d|--disable-buffering] [--force-english-output]
[--interactive] [-k|--api-key <API_KEY>] [-n|--no-symbols]
[--no-service-endpoint] [-s|--source <SOURCE>] [--skip-duplicate]
[-sk|--symbol-api-key <API_KEY>] [-ss|--symbol-source <SOURCE>]
[-t|--timeout <TIMEOUT>]
dotnet nuget push -h|--help
Description
A dotnet nuget push
parancs leküld egy csomagot a kiszolgálóra, és közzéteszi azt. A leküldéses parancs a rendszer NuGet-konfigurációs fájljában vagy konfigurációs fájlláncában található kiszolgálói és hitelesítő adatokat használja. A konfigurációs fájlokról további információt a NuGet-viselkedés konfigurálása című témakörben talál. A NuGet alapértelmezett konfigurációja a következő: %AppData%\NuGet\NuGet.config (Windows) vagy $HOME/.nuget/NuGet/NuGet.Config (Linux/macOS), majd betölti a meghajtó gyökerétől kezdődően az aktuális könyvtárban végződőnuget.configvagy .nuget\nuget.config .
A parancs leküld egy meglévő csomagot. Nem hoz létre csomagot. Csomag létrehozásához használja a következőt dotnet pack
: .
Hierarchikus mappastruktúra
Ez a parancs hierarchikus mappastruktúrában tárolhatja a csomagokat, ami a teljesítmény optimalizálásához ajánlott. A csomagokat hierarchikus mappastruktúrában tárolja, amikor egy helyi mappában (hírcsatornában) teszi közzé a csomagokat, például nuget add
ha már van legalább egy olyan csomag a hírcsatornában, amely hierarchikus mappastruktúrában található. Ha a hírcsatorna már rendelkezik hierarchikus mappaszerkezetű csomagokkal, dotnet nuget push
akkor ezt a struktúrát figyelembe kell vennie. Ha tehát a NuGet CLI helyett a .NET CLI használatával szeretne közzétenni egy helyi hírcsatornában:
- Az első csomag közzététele előtt lépjen a globális csomagok mappájába a %userprofile%.nuget\packages helyen, és válassza ki a csomagazonosító gyökérmappáját. Bármilyen csomag lehet, amely nem része egy keretrendszernek, például .NET standard vagy ASP.NET.
- Másolja a kijelölt csomagmappát a helyi hírcsatorna gyökérmappájába.
- A használatával
dotnet nuget push
közzéteheti a csomagot a helyi hírcsatornában. - Most már törölheti a korábban másolt mappát, és szabadon
dotnet nuget push
közzéteheti a helyi hírcsatornában.
Másik lehetőségként használja a NuGet CLI-t az első csomaghoz, majd a többit is használhatja dotnet nuget push
. További információ: Helyi hírcsatornák.
Argumentumok
ROOT
Megadja a leküldéses csomag elérési útját.
Beállítások
-d|--disable-buffering
Letiltja a pufferelést http(S) kiszolgálóra való leküldéskor a memóriahasználat csökkentése érdekében.
--force-english-output
Kényszeríti, hogy az alkalmazás invariáns, angol nyelvű kultúrával fusson.
-?|-h|--help
A parancs használatának leírását nyomtatja ki.
--interactive
Lehetővé teszi, hogy a parancs leálljon, és várja meg a felhasználói bevitelt vagy műveletet. Például a hitelesítés befejezéséhez. A .NET Core 3.0 SDK óta érhető el.
-k|--api-key <API_KEY>
A kiszolgáló API-kulcsa.
-n|--no-symbols
Nem küld le szimbólumokat (még akkor sem, ha jelen van).
--no-service-endpoint
Nem fűzi hozzá az "api/v2/package" kifejezést a forrás URL-címéhez.
-s|--source <SOURCE>
Megadja a kiszolgáló URL-címét. A NuGet azonosít egy UNC- vagy helyi mappaforrást, és egyszerűen átmásolja a fájlt ahelyett, hogy HTTP-t használva küldi el.
Fontos
A NuGet 3.4.2-től kezdve ez egy kötelező paraméter, hacsak a NuGet konfigurációs fájl nem ad meg egy
DefaultPushSource
értéket. További információ: A NuGet-viselkedés konfigurálása.--skip-duplicate
Ha több csomagot küld egy HTTP(S) kiszolgálóra, a 409-as ütközési választ figyelmeztetésként kezeli, hogy a többi leküldés folytatódjon.
-sk|--symbol-api-key <API_KEY>
A szimbólumkiszolgáló API-kulcsa.
-ss|--symbol-source <SOURCE>
Megadja a szimbólumkiszolgáló URL-címét.
-t|--timeout <TIMEOUT>
Megadja a kiszolgálóra való leküldés időtúllépését másodpercben. Alapértelmezés szerint 300 másodperc (5 perc). A 0 megadása az alapértelmezett értéket alkalmazza.
Példák
A Foo.nupkg leküldése a NuGet konfigurációs fájlban megadott alapértelmezett leküldési forrásra API-kulcs használatával:
dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a
A foo.nupkg leküldése a hivatalos NuGet-kiszolgálóra egy API-kulcs megadásával:
dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a -s https://api.nuget.org/v3/index.json
A foo.nupkg leküldése az egyéni leküldéses forrásra
https://customsource
, amely egy API-kulcsot ad meg:dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a -s https://customsource/
A foo.nupkg leküldése a NuGet konfigurációs fájlban megadott alapértelmezett leküldési forrásra:
dotnet nuget push foo.nupkg
A foo.symbols.nupkg leküldése az alapértelmezett szimbólumforrásra:
dotnet nuget push foo.symbols.nupkg
A foo.nupkg leküldése a NuGet konfigurációs fájlban megadott alapértelmezett leküldési forrásra 360 másodperces időtúllépéssel:
dotnet nuget push foo.nupkg --timeout 360
Az aktuális könyvtár összes .nupkg fájljának leküldése a NuGet konfigurációs fájlban megadott alapértelmezett leküldési forrásba:
dotnet nuget push "*.nupkg"
Megjegyzés
Ha ez a parancs nem működik, előfordulhat, hogy az SDK régebbi verzióiban (.NET Core 2.1 SDK és korábbi verziók) már létezett hiba. A probléma megoldásához frissítse az SDK-verziót, vagy futtassa helyette a következő parancsot:
dotnet nuget push "**/*.nupkg"
Megjegyzés
A beágyazó idézőjelek olyan rendszerhéjakhoz szükségesek, mint a bash, amely fájlcsúcsolást hajt végre. További információ: NuGet/Home#4393.
Az összes .nupkg fájl leküldése a NuGet-konfigurációs fájlban megadott alapértelmezett leküldési forrásba, még akkor is, ha egy HTTP(S) kiszolgáló 409-edik ütközési választ ad vissza:
dotnet nuget push "*.nupkg" --skip-duplicate
Az aktuális könyvtár összes .nupkg fájljának leküldése egy helyi hírcsatornakönyvtárba:
dotnet nuget push "*.nupkg" -s c:\mydir
Az Azure Artifactsbe való leküldéshez tekintse meg az Azure Artifacts leküldéses dokumentációját.