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.