Aracılığıyla paylaş


dotnet nuget push komutunu çalıştır

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

İsim

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

Özet

dotnet nuget push [<ROOT>] [--allow-insecure-connections] [-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>]
    [--configfile <FILE>]

dotnet nuget push -h|--help

Açıklama

komutu dotnet nuget push bir paketi sunucuya gönderir ve yayımlar. Anında iletme 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 dizinde biten nuget.config veya .nuget\nuget.config yüklenerek elde edilir.

komutu var olan 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 bulunan 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ışta yayımlamak istiyorsanız:

  • İlk paketi yayımlamadan önce.nuget\packages%userprofile% 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 ücretsiz olarak kullanabilirsiniz dotnet nuget push .

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

Tartışmalar

  • ROOT

    Gönderilecek paketin dosya yolunu belirtir.

Seçenekler

  • --allow-insecure-connections

    HTTP kaynaklarına (güvenli olmayan) göndermeye izin verir.

  • -d|--disable-buffering

    Bellek kullanımını azaltmak için HTTP(S) sunucusuna gönderirken 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.

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

    Sunucunun API anahtarı.

  • -n|--no-symbols

    Simge 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önderirken, diğer göndermelerin devam edebilmesi için 409 Çakışma yanıtlarını uyarı olarak ele alır.

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

    Sembol sunucusunun API anahtarı.

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

    Sembol sunucusu URL'sini belirtir.

  • -t|--timeout <TIMEOUT>

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

  • --configfile

    Kullanılacak NuGet yapılandırma dosyası (nuget.config). Belirtilirse, yalnızca bu dosyadaki ayarlar kullanılır. Belirtilmezse, geçerli dizindeki yapılandırma dosyalarının hiyerarşisi kullanılır. Daha fazla bilgi için bkz . Yaygın NuGet Yapılandırmaları.

Ö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"
    
  • 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.