Làm thế nào để liệt kê tất cả các gói NuGet được cài đặt cục bộ?
Có NuGet tương đương với RPM -qa
? Trong Chocolatey có chocolatey list -localonly
, nhưng đối với cuộc đời của tôi, tôi không thể tìm thấy NuGet tương đương với lệnh đó.
Làm thế nào để liệt kê tất cả các gói NuGet được cài đặt cục bộ?
Có NuGet tương đương với RPM -qa
? Trong Chocolatey có chocolatey list -localonly
, nhưng đối với cuộc đời của tôi, tôi không thể tìm thấy NuGet tương đương với lệnh đó.
Câu trả lời:
Trong Bảng điều khiển Trình quản lý Gói NuGet , hãy nhập lệnh sau:
Get-Package
Thao tác này sẽ in ra danh sách các gói đã cài đặt hoặc nếu không có gói nào, hãy ghi dòng sau vào bảng điều khiển:
PM> Get-Package
No packages installed.
Để biết thêm chi tiết, hãy xem Tham khảo NuGet PowerShell .
Get-Package
, tên của các gói được cắt bớt khi chúng có nhiều hơn 32 đặc tính. Có thể tăng cột tên gói để đầu ra hiển thị tên đầy đủ mà không cắt bớt chúng không?
Get-Package | Format-Table -AutoSize
sẽ làm được
Nếu bạn chỉ làm
Get-Package
nó sẽ liệt kê các gói và nơi chúng được tham chiếu. Nó sẽ liệt kê các gói giống nhau lặp đi lặp lại nếu bạn đã tham chiếu chúng nhiều lần. Nếu bạn muốn có được danh sách rõ ràng của tất cả các gói được cài đặt trong giải pháp, bạn có thể làm
Get-Package | select -Unique Id, Versions
Get-Package -ProjectName "Your.Project.Name"
Sẽ hiển thị các gói cho dự án được chỉ định.
Xem thêm: Tham khảo PowerShell Console của Package Manager
Lưu ý rằng mỗi dự án sẽ có một tệp package.config được sử dụng để theo dõi các gói đã cài đặt. Nếu điều này được thay đổi (đặc biệt nếu bạn thay đổi ngược lại), các dự án có thể không tự động tải xuống phiên bản gói chính xác. Trong trường hợp đó, hãy ghi lại các gói được yêu cầu và thực hiện gỡ cài đặt gói, sau đó là gói cài đặt cho mỗi gói.
Ngoài ra, các bản sao lưu là bạn của bạn! ;)
Trong Visual Studio,
packages.config
tệp. Xem tài liệu của Microsoft .
Làm cách nào để liệt kê tất cả các Gói NuGet đã cài đặt?
Giả sử rằng NuGet được cài đặt đúng cách
Nhấp chuột phải vào nút Dự án và nhấp vào Quản lý gói NuGet
Xem danh sách các gói đã cài đặt
Câu trả lời cho "Có cách nào để thực hiện việc này bằng cách sử dụng nuget.exe không? - bitbonk" :
nuget list -Source C:/packages
Trong đó C: / package là một đường dẫn đến kho lưu trữ cục bộ của bạn.
Nếu bạn đã cài đặt .NET Core runtime, bạn có thể sử dụng lệnh gói danh sách dotnet trong công cụ .NET Core CLI để tìm nạp các gói đã cài đặt cho một giải pháp hoặc dự án nhất định. Sử dụng nó như vậy từ dòng lệnh Windows:
dotnet list "C:\Source\MySolution\MySolution.sln" package
Nó hoạt động trên cả dự án .NET Framework và .NET Core.
Lưu ý: Để lệnh này hoạt động, giải pháp phải sử dụng định dạng NuGet PackageReference mới để tham chiếu các gói NuGet. Di chuyển dễ dàng bằng cách nhấp chuột phải vào package.config và nhấp vào "Di chuyển package.config sang PackageReference ...", sau đó khôi phục các gói bằng cách xây dựng giải pháp.
Trả lời cho "Có cách nào để thực hiện việc này bằng cách sử dụng nuget.exe không?" - bitbonk
Dựa trên câu trả lời từ jstar ở trên. Tôi đã sử dụng \
thay vì /
nó phù hợp hơn với môi trường Windows nơi nuget ở nhà. Chỉnh sửa câu trả lời của tôi đã bị từ chối nên tôi đăng bài của riêng mình.
nuget list -Source c:\code\packages
Trong trường hợp c:\code
là một đường dẫn đến địa phương mã kho của bạn. Các packages
thư mục trên cùng cấp như giải pháp tập tin của bạn (* sln).