Tải xuống phiên bản cũ của gói với NuGet


907

Có cách nào để tải xuống phiên bản trước của gói với NuGet , không phải là phiên bản mới nhất không?

Câu trả lời:


1117

Đưa lên Bảng điều khiển Trình quản lý gói trong Visual Studio - đó là trong Công cụ / Trình quản lý gói NuGet / Bảng điều khiển Trình quản lý gói. Sau đó chạy lệnh Cài đặt-Gói:

Install-Package Common.Logging -Version 1.2.0

Xem tài liệu tham khảo lệnh để biết chi tiết.

Chỉnh sửa: Để liệt kê các phiên bản của gói, bạn có thể sử dụng lệnh Nhận gói với đối số từ xa và bộ lọc:

Get-Package -ListAvailable -Filter Common.Logging -AllVersions

Bằng cách nhấn tab sau tùy chọn phiên bản trong Install-Packagelệnh, bạn sẽ có được danh sách các phiên bản mới nhất hiện có.


54
Vì lợi ích của những người đã sử dụng Nuget trong một thời gian nhưng chưa bao giờ làm bất cứ điều gì với nó từ dòng lệnh: Để chạy các lệnh powershell mà PHeiberg đề cập, bạn sẽ muốn đưa lên Bảng điều khiển Trình quản lý gói trong Visual Studio - đó là trong Công cụ | Thư viện quản lý gói | Bảng điều khiển quản lý gói .
Jonathan Moffatt

20
Lệnh này cũng sẽ có sẵn thông qua UI. Bây giờ nếu nhà xuất bản có phiên bản beta, bạn chỉ có thể có phiên bản mới nhất, đôi khi không ổn định.
Bart Verkoeijen

2
@bgever - Hầu hết các nhà xuất bản tạo Prerelease cho các gói beta không được coi là "Mới nhất" trong GUI. Miễn là nhà xuất bản sử dụng phiên bản chính xác, phiên bản mới nhất phải luôn là phiên bản ổn định. Điều đó không có nghĩa là nó sẽ không có lỗi tuy nhiên ...
Jesse Webb

3
Thông tin phụ thuộc và kiểm tra những thuộc tính nào khác có sẵn: Get-Gói -ListAv Available [-Source X] -Filter Common.Logging-ALLVersions | chọn phiên bản, phần phụ thuộc (hoặc ' | get-thành viên ' để xem tất cả các thuộc tính)
Curtis Yallop

2
Get-Package -ListAvailablekhông không liệt kê tất cả các phiên bản có sẵn cho tôi.
Roman Starkov

52

Duyệt đến trang của nó trong chỉ mục gói, ví dụ. http://www.nuget.org/packages/Newtonsoft.Json/4.0.5

Sau đó làm theo các hướng dẫn cài đặt được đưa ra:

Install-Package Newtonsoft.Json -Version 4.0.5

Ngoài ra, để tải xuống .nupkgtệp, hãy theo liên kết 'Tải xuống', vd. https://www.nuget.org/api/v2/package/Newtonsoft.Json/4.0.5

Lỗi thời: cài đặt Nutake tiện ích mở rộng Chrome của tôi để chèn liên kết tải xuống.


35

Một tùy chọn khác là thay đổi số phiên bản trong packages.configtệp. Điều này sẽ khiến NuGet tải xuống các dll cho phiên bản đó vào lần tiếp theo bạn xây dựng.


1
Một người tốt ... đã không nghĩ về điều đó. Tôi đoán rằng NuGet Gói Khôi phục phải được kích hoạt cho giải pháp mặc dù.
Leniel Maccaferri

12
Điều này không đủ để thay đổi tham chiếu lắp ráp tự động. Những gì hoạt động mặc dù (nếu bạn thuê hai tập hợp trong giải pháp của mình) là: 1. đảm bảo một tập hợp tham chiếu gói, 2. chỉnh sửa phiên bản chính xác trong packages.config, 3. quản lý các gói NuGet trên giải pháp, 3a. thêm gói vào dự án khác, loại bỏ nó khỏi dự án ban đầu và xác nhận điều này, 3b. đảo ngược 3a và xác nhận. Bước 3a sẽ thêm tham chiếu lắp ráp chính xác vào dự án khác và xóa nó khỏi bản gốc. Bước 3b sẽ thêm tham chiếu lắp ráp chính xác vào dự án ban đầu.
Jeroen Wiert Pluimers

25

Trong NuGet 3.x (Visual Studio 2015), bạn chỉ có thể chọn phiên bản từ UI

UI quản lý gói NuGet 3


Đẹp khi nó hoạt động nhưng tôi đã thấy các trường hợp không phải tất cả các phiên bản cũ được liệt kê ở đó.
UuDdLrLrSs

5

Trong NuGet 3.0, Get-Packagelệnh không được dùng nữa và được thay thế bằng Find-Packagelệnh.

Find-Package Common.Logging -AllVersions

Xem tài liệu tham khảo lệnh NuGet để biết chi tiết.

Đây là thông báo hiển thị nếu bạn cố gắng sử dụng Get-Gói trong Visual Studio 2015.

This Command/Parameter combination has been deprecated and will be removed
in the next release. Please consider using the new command that replaces it: 
'Find-Package [-Id] -AllVersions'

Hoặc như @Yishai đã nói, bạn có thể sử dụng trình đơn thả xuống số phiên bản trong màn hình NuGet trong Visual Studio.


3

Vì câu hỏi ban đầu không nêu rõ nên sử dụng giao diện NuGet nào, tôi muốn đề cập rằng NuGet 3.5 bổ sung hỗ trợ cập nhật lên phiên bản cụ thể thông qua ứng dụng khách dòng lệnh (cũng hoạt động cho hạ cấp):

NuGet.exe update Common.Logging -Version 1.2.0

0

Bằng cách sử dụng giao diện người quản lý gói Nuget như đã đề cập ở trên, trước tiên nó sẽ giúp gỡ cài đặt gói nuget. Tôi luôn gặp sự cố khi quay lại phiên bản gói nuget nếu tôi không gỡ cài đặt trước. Một số tài liệu tham khảo không được làm sạch đúng cách. Vì vậy, tôi đề xuất quy trình làm việc sau đây khi cài đặt gói nuget cũ thông qua Trình quản lý gói Nuget:

  1. Chọn máy chủ / nguồn nuget của bạn
  2. Tìm và chọn gói nuget mà bạn muốn cài đặt phiên bản cũ hơn
  3. Gỡ cài đặt phiên bản hiện tại
  4. Nhấp vào trình đơn thả xuống cài đặt> Chọn phiên bản cũ hơn> Nhấp vào Cài đặt

nhập mô tả hình ảnh ở đây

Chúc may mắn :)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.