Tüm yüklü NuGet paketlerini nasıl listeleyebilirim?


94

Yerel olarak yüklenmiş tüm NuGet paketleri nasıl listelenir?

NuGet eşdeğeri var RPM -qamı? Chocolatey içinde var chocolatey list -localonly, ancak hayatım boyunca bu komutun NuGet eşdeğerini bulamıyorum.

Yanıtlar:


95

NuGet Paket Yöneticisi Konsolunda aşağıdaki komutu girin: In the NuGet Package Manager Console , enter the following command:

Get-Package

Bu, yüklü paketlerin bir listesini yazdırır veya hiçbiri yoksa konsola aşağıdaki satırı yazın:

PM> Get-Package
No packages installed.

Daha fazla ayrıntı için NuGet PowerShell Başvurusuna bakın .


12
NuGet.exe kullanarak bunu yapmanın bir yolu var mı?
bitbonk

2
Komutu çalıştırdıktan sonra Get-Package, 32'den fazla karaktere sahip olduklarında paketlerin adları kırpılır . Paket adı sütununu, çıktının onları kırpmadan tam adları göstermesi için artırmak mümkün müdür?
Ulysses Alves

12
Get-Package | Format-Table -AutoSizeyapacak
Mant101

57

Sadece yaparsan

Get-Package

paketleri ve nerede referanslandıklarını listeleyecektir. Birçok kez başvurduysanız, aynı paketleri tekrar tekrar listeleyecektir. Çözümde kurulu olan tüm paketlerin temiz bir listesini almak istiyorsanız, yapabilirsiniz

Get-Package | select -Unique Id, Versions

16
Get-Package -ProjectName "Your.Project.Name"

Belirtilen proje için paketleri gösterecektir.

Ayrıca bkz: Paket Yöneticisi Konsolu PowerShell Başvurusu

Her projenin, kurulu paketleri izlemek için kullanılan bir packages.config dosyası olacağını unutmayın. Bu değiştirilirse (özellikle geriye doğru değiştirirseniz), projeler doğru paket sürümünü otomatik olarak indirmeyebilir. Bu durumda, gerekli paketleri not edin ve bir kaldırma paketi yapın, ardından her biri için bir yükleme paketi ekleyin.

Ayrıca, yedeklemeler sizin dostunuzdur! ;)


12

Visual Studio'da,

  • gidin Proje veya Çözüm söz konusu
  • sağ tıklayın, NuGet Paketlerini Yönet ...
  • solda ' Yüklü Paketler ' göreceksiniz
  • buna tıklayın ve listeyi göreceksiniz

9

Verilen tüm yanıtlara ek olarak, Visual Studio proje kök klasörünüzdeki tüm yüklü paketlerin XML biçiminde temiz bir listesi de vardır: packages.config :

Buraya resim açıklamasını girin


Bence en iyi cevap.
etiennejcharles

Visual Studio 2017 sürüm 15.7'de sunulan yeni proje dosyası yapısıyla NuGet paketleri proje dosyasına taşınabilir (veya yeni projeler için) taşınabilir ve bir packages.configdosya bulamazsınız . Microsoft belgelerine bakın .
Frode Evensen

Bu size bir seferde yalnızca bir proje verir. Çözümümde yaklaşık 250 projem var, bu nedenle çözümlerden birer birer geçmek istemiyorsanız diğer yanıtlar daha iyidir.
RosieC



3

Yüklü .NET Core çalışma zamanınız varsa, belirli bir çözüm veya proje için yüklü paketleri almak için .NET Core CLI araçlarındaki dotnet list paketi komutunu kullanabilirsiniz . Windows komut satırından olduğu gibi kullanın:

dotnet list "C:\Source\MySolution\MySolution.sln" package

Hem .NET Framework hem de .NET Core projelerinde çalışır.

Not: Bu komutun çalışması için çözümün NuGet paketlerine başvurmak için yeni NuGet PackageReference biçimini kullanması gerekir . Taşıma, packages.config'e sağ tıklamak ve "packages.config'i PackageReference'a geçir ..." tıklamak ve ardından çözümü oluşturarak paketleri geri yüklemek kadar kolaydır.


.NET Core için çalışıyor ancak .NET 4.5 için çalışmıyor Çözüm: En azından benim bilgisayarımda durum böyle.
Christian Casutt

1
@ChristianCasutt Bunu test ettim ve .NET Framework 4.5'te gayet iyi çalışıyor, yapmam gereken tek şey packages.config'den PackageReference'a geçmek ve ardından çözümü oluşturarak nuget paketlerini geri yüklemek oldu.
Shahin Dohan

Referanslama / kullanım ile kurulum arasında bir fark yok mu? NuGet paketleri, çözümlerden / projelerden bağımsız olarak küresel olarak yüklenmiyor mu?
Peter Mortensen

@PeterMortensen Burada OP'nin bir proje / çözüm için kurulu olduğunu varsayıyorum. Global olarak indirilen paketler önbelleğe alınır ve bu bağlamda "kurulu" teriminin anlamlı olacağını düşünmüyorum.
Shahin Dohan

0

"Bunu nuget.exe kullanarak yapmanın bir yolu var mı?" - bitbonk

Dan Yanıta göre Jstar yukarıda. Ben nuget'in evde olduğu Windows ortamına daha çok uyan \yerine kullandım /. Cevaba ilişkin düzenlemem reddedildi, bu yüzden kendi yanıtımı gönderiyorum.

nuget list -Source c:\code\packages

c:\codeYerel kod deponuzun yolu nerede . packagesKlasörü çözüm dosyası (* .Sln) gibi aynı seviyede olduğunu.


Ancak bu, kurulu paketleri (?) Değil kaynakları (paketlerin nereden geldiğini) listeler .
Peter Mortensen
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.