Aracılığıyla paylaş


dotnet nuget push

Bu makale şunlar için geçerlidir: ✔️ .NET Core 3.1 SDK ve sonraki sürümler

Name

dotnet nuget push - Bir paketi sunucuya göndererek yayımlar.

Özet

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

dotnet nuget push komutu bir paketi sunucuya iletir ve yayımlar. Gönderme komutu, sistemin NuGet yapılandırma dosyasında veya yapılandırma dosyaları zincirinde bulunan sunucu ve kimlik bilgisi ayrıntılarını kullanır. Yapılandırma dosyaları hakkında daha fazla bilgi için bkz. NuGet Davranışını Yapılandırma. NuGet'in varsayılan yapılandırması , %AppData%\NuGet\NuGet.config (Windows) veya $HOME/.nuget/NuGet/NuGet.Config (Linux/macOS) yüklenip sürücünün kökünden başlayıp geçerli dizinle biten tüm nuget.config veya .nuget\nuget.config yüklenerek elde edilir.

komutu mevcut bir paketi iter. Paket oluşturmaz. Paket oluşturmak için kullanın dotnet pack.

Hiyerarşik klasör yapısı

Bu komut, paketleri, performansı iyileştirmek için önerilen hiyerarşik bir klasör yapısında depolayabilir. Akışta hiyerarşik klasör yapısında en az bir paket varsa, paketleri yerel bir klasöre (akış nuget add ) yayımlarken hiyerarşik bir klasör yapısında depolar. Akışın içinde zaten hiyerarşik klasör yapılandırılmış bir paket varsa, dotnet nuget push bu yapıya saygı gösterir. Bu nedenle, NuGet CLI yerine .NET CLI kullanarak yerel bir akışa yayımlamak istiyorsanız:

  • İlk paketi yayımlamadan önce , %userprofile%.nuget\packages konumundaki genel paketler klasörünüze gidin ve paket kimliğinin kök klasörünü seçin. .NET standardı veya ASP.NET gibi bir çerçevenin parçası olmayan herhangi bir paket olabilir.
  • Seçili paket klasörünü yerel akışın kök klasörüne kopyalayın.
  • Paketinizi yerel akışta yayımlamak için kullanın dotnet nuget push .
  • Artık daha önce kopyaladığınız klasörü silebilir ve yerel akışınızda yayımlamak için kullanabilirsiniz dotnet nuget push .

Alternatif olarak, ilk paket için NuGet CLI'yı kullanın, ardından geri kalanı için kullanabilirsiniz dotnet nuget push . Daha fazla bilgi için bkz. Yerel akışlar.

Bağımsız değişkenler

  • ROOT

    Gönderilecek paketin dosya yolunu belirtir.

Seçenekler

  • -d|--disable-buffering

    Bellek kullanımını azaltmak için HTTP(S) sunucusuna gönderilirken arabelleğe almayı devre dışı bırakır.

  • --force-english-output

    Uygulamayı sabit, İngilizce tabanlı bir kültür kullanarak çalışmaya zorlar.

  • -?|-h|--help

    komutunun nasıl kullanılacağına ilişkin bir açıklama yazdırır.

  • --interactive

    Komutun durmasına ve kullanıcı girişini veya eylemini beklemesine izin verir. Örneğin, kimlik doğrulamasını tamamlamak için. .NET Core 3.0 SDK'dan itibaren kullanılabilir.

  • -k|--api-key <API_KEY>

    Sunucunun API anahtarı.

  • -n|--no-symbols

    Simgeleri göndermez (varsa bile).

  • --no-service-endpoint

    Kaynak URL'ye "api/v2/package" eklemez.

  • -s|--source <SOURCE>

    Sunucu URL'sini belirtir. NuGet bir UNC veya yerel klasör kaynağı tanımlar ve dosyayı HTTP kullanarak göndermek yerine oraya kopyalar.

    Önemli

    NuGet 3.4.2'den başlayarak, NuGet yapılandırma dosyası bir değer belirtmediği sürece bu zorunlu bir DefaultPushSource parametredir. Daha fazla bilgi için bkz. NuGet davranışını yapılandırma.

  • --skip-duplicate

    Bir HTTP(S) sunucusuna birden çok paket gönderilirken, diğer göndermelerin devam edebilmesi için 409 Çakışma yanıtı uyarı olarak kabul edilir.

  • -sk|--symbol-api-key <API_KEY>

    Sembol sunucusunun API anahtarı.

  • -ss|--symbol-source <SOURCE>

    Sembol sunucusu URL'sini belirtir.

  • -t|--timeout <TIMEOUT>

    Sunucuya gönderme zaman aşımını saniyeler içinde belirtir. Varsayılan değer 300 saniyedir (5 dakika). 0 belirtilmesi varsayılan değeri uygular.

Örnekler

  • Api anahtarı kullanarak foo.nupkg dosyasını NuGet yapılandırma dosyasında belirtilen varsayılan gönderme kaynağına gönderin:

    dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a
    
  • Foo.nupkg dosyasını resmi NuGet sunucusuna göndererek bir API anahtarı belirtin:

    dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a -s https://api.nuget.org/v3/index.json
    
  • Foo.nupkg dosyasını özel gönderme kaynağına https://customsourcegöndererek bir API anahtarı belirtin:

    dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a -s https://customsource/
    
  • Foo.nupkg dosyasını NuGet yapılandırma dosyasında belirtilen varsayılan gönderme kaynağına gönder:

    dotnet nuget push foo.nupkg
    
  • Foo.symbols.nupkg dosyasını varsayılan sembol kaynağına gönder:

    dotnet nuget push foo.symbols.nupkg
    
  • Foo.nupkg dosyasını NuGet yapılandırma dosyasında belirtilen varsayılan gönderme kaynağına 360 saniyelik zaman aşımıyla gönder:

    dotnet nuget push foo.nupkg --timeout 360
    
  • Geçerli dizindeki tüm .nupkg dosyalarını NuGet yapılandırma dosyasında belirtilen varsayılan gönderme kaynağına gönder:

    dotnet nuget push "*.nupkg"
    

    Not

    Bu komut işe yaramazsa, bunun nedeni SDK'nın eski sürümlerinde (.NET Core 2.1 SDK ve önceki sürümler) var olan bir hata olabilir. Bunu düzeltmek için SDK sürümünüzü yükseltin veya bunun yerine aşağıdaki komutu çalıştırın: dotnet nuget push "**/*.nupkg"

    Not

    Kapsayan tırnak işaretleri, dosya globbing gerçekleştiren bash gibi kabuklar için gereklidir. Daha fazla bilgi için bkz. NuGet/Home#4393.

  • Http(S) sunucusu tarafından 409 Çakışma yanıtı döndürülse bile tüm .nupkg dosyalarını NuGet yapılandırma dosyasında belirtilen varsayılan gönderme kaynağına gönder:

    dotnet nuget push "*.nupkg" --skip-duplicate
    
  • Geçerli dizindeki tüm .nupkg dosyalarını yerel akış dizinine gönder:

    dotnet nuget push "*.nupkg" -s c:\mydir
    
  • Azure Artifacts'e gönderme için bkz. Azure Artifacts'in gönderme belgeleri.