restore komutu (NuGet CLI)

Şunlar için geçerlidir: paket tüketimi • Desteklenen sürümler: 2.7+

Klasörde eksik packages olan paketleri indirir ve yükler. NuGet 4.0+ ve PackageReference biçimiyle kullanıldığında, klasörde gerekirse obj bir <project>.nuget.props dosya oluşturur. (Dosya kaynak denetiminden atlanabilir.)

Mono üzerinde CLI ile Mac OSX ve Linux'ta paketlerin geri yüklenmesi PackageReference ile desteklenmez.

Kullanım

nuget restore <projectPath> [options]

burada <projectPath> bir çözümün veya packages.config dosyanın konumunu belirtir. Davranış ayrıntıları için aşağıdaki Açıklamalar bölümüne bakın.

Seçenekler

  • -ConfigFile

    Uygulanacak NuGet yapılandırma dosyası. Belirtilmezse ( %AppData%\NuGet\NuGet.Config Windows) veya ~/.nuget/NuGet/NuGet.Config~/.config/NuGet/NuGet.Config (Mac/Linux) kullanılır.

  • -DirectDownload

    (4,0+) Paketleri, önbellekleri herhangi bir ikili dosya veya meta veriyle doldurmadan doğrudan indirir.

  • -DisableParallelProcessing

    Birden çok paketi paralel olarak geri yüklemeyi devre dışı bırakır.

  • -FallbackSource

    (3.2+) Paketin birincil veya varsayılan kaynakta bulunmamış olması durumunda geri dönüş olarak kullanılacak paket kaynaklarının listesi. Liste girdilerini ayırmak için noktalı virgül kullanın.

  • -Force

    PackageReference tabanlı projelerde, son geri yükleme başarılı olsa bile tüm bağımlılıkların çözümlenmesine zorlar. Bu bayrağın belirtilmesi, dosyayı silmeye project.assets.json benzer. Bu, http önbelleğini atlamaz.

  • -ForceEnglishOutput

    (3,5+) nuget.exe sabit, İngilizce tabanlı bir kültür kullanarak çalışmaya zorlar.

  • -ForceEvaluate

    Bir kilit dosyası zaten mevcut olsa bile geri yüklemeyi tüm bağımlılıkları yeniden değerlendirmeye zorlar.

  • -?|-help

    Komutun yardım bilgilerini görüntüler.

  • -LockFilePath

    Proje kilit dosyasının yazıldığı çıkış konumu. Varsayılan olarak, bu şeklindedir PROJECT_ROOT\packages.lock.json.

  • -LockedMode

    Proje kilit dosyasını güncelleştirmeye izin verme.

  • -MSBuildPath

    (4,0+) komutuyla kullanılacak MSBuild yolunu belirtir ve üzerinde -MSBuildVersionönceliklidir.

  • -MSBuildVersion

    (3.2+) Bu komutla kullanılacak MSBuild sürümünü belirtir. Desteklenen değerler 4, 12, 14, 15.1, 15.3, 15.4, 15.5, 15.6, 15.7, 15.8, 15.9'dır. Varsayılan olarak yolunuzdaki MSBuild seçilir, aksi takdirde varsayılan olarak EN yüksek yüklü MSBuild sürümüne ayarlanır.

  • -NoHttpCache

    NuGet'in http önbelleğe alınmış paketleri kullanmasını engeller. Bkz. Genel paketleri ve önbellek klasörlerini yönetme.

  • -NonInteractive

    Kullanıcı girişi veya onay istemlerini gizler.

  • -OutputDirectory

    Paketlerin yüklendiği klasörü belirtir. Hiçbir klasör belirtilmezse geçerli klasör kullanılır. Veya kullanılmadığı sürece PackagesDirectorySolutionDirectory bir packages.config dosyayla geri yükleme sırasında gereklidir.

  • -PackageSaveMode

    Paket yüklemeden sonra kaydedilecek dosya türlerini belirtir: , veya nuspec;nupkg.nuspecnupkg

  • -PackagesDirectory

    ile OutputDirectoryaynı. Veya kullanılmadığı sürece OutputDirectorySolutionDirectory bir packages.config dosyayla geri yükleme sırasında gereklidir.

  • -Project2ProjectTimeOut

    Projeden projeye başvuruları çözümlemek için saniyeler içinde zaman aşımı.

  • -Recursive

    (4,0+) UWP ve .NET Core projeleri için tüm başvuru projelerini geri yükler. kullanan packages.configprojelere uygulanmaz.

  • -RequireConsent

    Paketleri indirip yüklemeden önce paketleri geri yüklemenin etkinleştirildiğini doğrular. Ayrıntılar için bkz . Paket Geri Yükleme.

  • -SolutionDirectory

    Çözüm klasörünü belirtir. Bir çözüm için paketler geri yüklenirken geçerli değil. Veya kullanılmadığı sürece PackagesDirectoryOutputDirectory bir packages.config dosyayla geri yükleme sırasında gereklidir.

  • -Source

    Geri yükleme için kullanılacak paket kaynaklarının (URL olarak) listesini belirtir. Belirtilmezse, komut yapılandırma dosyalarında sağlanan kaynakları kullanır, bkz . NuGet davranışını yapılandırma. Liste girdilerini ayırmak için noktalı virgül kullanın.

  • -UseLockFile

    Proje kilit dosyasının oluşturulmasını ve geri yükleme ile kullanılmasını sağlar.

  • -Verbosity [normal|quiet|detailed]

    Çıktıda görüntülenen ayrıntı miktarını belirtir: normal (varsayılan), quietveya detailed.

Ayrıca bkz. Ortam değişkenleri

Açıklamalar

Geri yükleme komutu aşağıdaki adımları gerçekleştirir:

  1. Geri yükleme komutunun işlem modunu belirleyin.

    projectPath dosya türü Davranış
    Çözüm (klasör) NuGet bir .sln dosya arar ve bulunursa bunu kullanır; aksi takdirde hata verir. (SolutionDir)\.nuget başlangıç klasörü olarak kullanılır.
    .sln dosyası Çözüm tarafından tanımlanan paketleri geri yükleme; kullanılırsa -SolutionDirectory hata verir. $(SolutionDir)\.nuget başlangıç klasörü olarak kullanılır.
    packages.config veya proje dosyası Dosyada listelenen paketleri geri yükleyerek bağımlılıkları çözün ve yükleyin.
    Diğer dosya türü Dosyanın yukarıdaki gibi bir .sln dosya olduğu varsayılır; çözüm değilse NuGet bir hata verir.
    (projectPath belirtilmedi)
    • NuGet, geçerli klasörde çözüm dosyalarını arar. Tek bir dosya bulunursa, bu dosya paketleri geri yüklemek için kullanılır; birden çok çözüm bulunursa NuGet hata verir.
    • Çözüm dosyası yoksa NuGet bir öğesini arar packages.config ve paketleri geri yüklemek için bunu kullanır.
    • Çözüm veya packages.config dosya bulunmazsa NuGet bir hata verir.
  2. Aşağıdaki öncelik sırasını kullanarak packages klasörünü belirleyin (Bu klasörlerden hiçbiri bulunmazsa NuGet hata verir):

    • ile -PackagesDirectorybelirtilen klasör.
    • içindeki repositoryPath değer Nuget.Config
    • ile belirtilen klasör -SolutionDirectory
    • $(SolutionDir)\packages
  3. Bir çözüm için paketleri geri yüklerken NuGet aşağıdakileri yapar:

    • Çözüm dosyasını yükler.
    • içinde $(SolutionDir)\.nuget\packages.config listelenen çözüm düzeyi paketlerini klasörüne packages geri yükler.
    • içinde $(ProjectDir)\packages.config listelenen paketleri klasörüne packages geri yükleyin. Belirtilen her paket için, belirtilmediği sürece -DisableParallelProcessing paketi paralel olarak geri yükleyin.

Örnekler

# Restore packages for a solution file
nuget restore a.sln

# Restore packages for a solution file, using MSBuild version 14.0 to load the solution and its project(s)
nuget restore a.sln -MSBuildVersion 14

# Restore packages for a project's packages.config file, with the packages folder at the parent
nuget restore proj1\packages.config -PackagesDirectory ..\packages

# Restore packages for the solution in the current folder, specifying package sources
nuget restore -source "https://api.nuget.org/v3/index.json;https://www.myget.org/F/nuget"