ดาวน์โหลดแพ็คเกจเวอร์ชั่นเก่าด้วย NuGet


907

มีวิธีดาวน์โหลดแพ็คเกจรุ่นก่อนหน้าด้วยNuGetไม่ใช่รุ่นล่าสุดหรือไม่

คำตอบ:


1117

เรียกใช้คอนโซลตัวจัดการแพคเกจใน Visual Studio - อยู่ในเครื่องมือ / NuGet แพ็คเกจตัวจัดการ / คอนโซลตัวจัดการแพคเกจ จากนั้นรันคำสั่ง Install-Package:

Install-Package Common.Logging -Version 1.2.0

ดูการอ้างอิงคำสั่งสำหรับรายละเอียด

แก้ไข: เพื่อแสดงรายการเวอร์ชันของแพ็คเกจคุณสามารถใช้คำสั่ง Get-Package กับอาร์กิวเมนต์ระยะไกลและตัวกรอง:

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

ด้วยการกดแท็บหลังจากตัวเลือกเวอร์ชันในInstall-Packageคำสั่งคุณจะได้รับรายการเวอร์ชันล่าสุดที่มี


54
เพื่อประโยชน์ของผู้ที่ใช้งาน Nuget มาระยะหนึ่ง แต่ไม่เคยทำสิ่งใดกับมันจากบรรทัดคำสั่ง: ในการเรียกใช้คำสั่ง powershell ที่ PHeiberg กล่าวถึงคุณจะต้องนำคอนโซลตัวจัดการแพคเกจมาใช้ใน Visual Studio - อยู่ในเครื่องมือ | ผู้จัดการห้องสมุดแพคเกจ | แพคเกจคอนโซลการจัดการ
Jonathan Moffatt

20
คำสั่งนี้ควรพร้อมใช้งานผ่าน UI ตอนนี้หากผู้เผยแพร่มีรุ่นเบต้าคุณสามารถรับรุ่นล่าสุดนั้นได้ซึ่งบางครั้งอาจไม่เสถียร
Bart Verkoeijen

2
@bverver - ผู้เผยแพร่ส่วนใหญ่สร้างPrereleasesสำหรับแพ็คเกจเบต้าซึ่งไม่ถือว่าเป็น "ล่าสุด" ใน GUI ตราบใดที่ผู้เผยแพร่โฆษณาใช้เวอร์ชันอย่างถูกต้องเวอร์ชันล่าสุดควรเป็นเวอร์ชันที่เสถียรเสมอ แต่นั่นไม่ได้หมายความว่ามันจะไม่มีข้อผิดพลาด ...
Jesse Webb

3
ข้อมูลการพึ่งพาและตรวจสอบคุณสมบัติอื่น ๆ ที่พร้อมใช้งาน: รับแพคเกจ -ListAvailable [-Source X] -Filter Common.Logging -AllVersions | เลือกรุ่นการอ้างอิง (หรือ ' | รับสมาชิก ' เพื่อดูคุณสมบัติทั้งหมด)
Curtis Yallop

2
Get-Package -ListAvailableไม่ได้แสดงรุ่นที่มีทั้งหมดสำหรับฉัน
Roman Starkov

52

เรียกดูหน้าเว็บในดัชนีแพ็คเกจเช่น http://www.nuget.org/packages/Newtonsoft.Json/4.0.5

จากนั้นทำตามคำแนะนำในการติดตั้งที่ได้รับ:

Install-Package Newtonsoft.Json -Version 4.0.5

หรือดาวน์โหลด.nupkgไฟล์โดยไปที่ลิงค์ 'ดาวน์โหลด' เช่น https://www.nuget.org/api/v2/package/Newtonsoft.Json/4.0.5

เลิกใช้: ติดตั้งส่วนขยาย Chrome Nutakeของฉันซึ่งแทรกลิงค์ดาวน์โหลด


35

อีกตัวเลือกหนึ่งคือเปลี่ยนหมายเลขเวอร์ชันในpackages.configไฟล์ สิ่งนี้จะทำให้ NuGet ดาวน์โหลด DLLs สำหรับเวอร์ชั่นนั้นในครั้งต่อไปที่คุณสร้าง


1
คนดี ... ไม่ได้คิดเรื่องนั้น ฉันคิดว่าNuGet Package Restoreจะต้องเปิดใช้งานสำหรับวิธีแก้ปัญหา
Leniel Maccaferri

12
ไม่เพียงพอที่จะเปลี่ยนการอ้างอิงแอสเซมบลีโดยอัตโนมัติ ทำงานได้อย่างไร (ถ้าคุณมีแอสเซมบลีสองชุดในโซลูชันของคุณ) คือ: 1. ให้แน่ใจว่าแอสเซมบลีหนึ่งอ้างอิงแพคเกจ 2. แก้ไขรุ่นที่ถูกต้องในpackages.config3. จัดการแพคเกจ NuGet บนโซลูชัน 3a เพิ่มแพ็คเกจไปยังโครงการอื่นลบออกจากโครงการเดิมและยืนยันสิ่งนี้ 3b ย้อนกลับ 3a และยืนยัน ขั้นตอน 3a จะเพิ่มการอ้างอิงแอสเซมบลีที่ถูกต้องให้กับโครงการอื่นและลบออกจากต้นฉบับ ขั้นตอนที่ 3b จะเพิ่มการอ้างอิงแอสเซมบลีที่ถูกต้องให้กับโครงการเดิม
Jeroen Wiert Pluimers

25

ใน NuGet 3.x (Visual Studio 2015) คุณสามารถเลือกรุ่นได้จาก UI

UI ตัวจัดการแพคเกจ NuGet 3


ดีเมื่อใช้งานได้ แต่ฉันเห็นกรณีที่ไม่มีรายการรุ่นเก่าทั้งหมดที่ระบุไว้
UuDdLrLrSs

5

ใน NuGet 3.0 Get-Packageคำสั่งถูกคัดค้านและแทนที่ด้วยFind-Packageคำสั่ง

Find-Package Common.Logging -AllVersions

ดูเอกสารอ้างอิงคำสั่ง NuGetสำหรับรายละเอียด

นี่คือข้อความที่แสดงถ้าคุณพยายามใช้ Get-Package ใน 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'

หรือตามที่ @Yishai กล่าวว่าคุณสามารถใช้ดรอปดาวน์หมายเลขเวอร์ชันในหน้าจอ NuGet ใน Visual Studio


3

เนื่องจากคำถามเดิมไม่ได้ระบุว่าควรใช้ส่วนหน้าของ NuGet อย่างไรฉันอยากจะพูดถึงว่า NuGet 3.5 เพิ่มการสนับสนุนสำหรับการอัปเดตเป็นเวอร์ชันเฉพาะผ่านทางไคลเอนต์บรรทัดคำสั่ง

NuGet.exe update Common.Logging -Version 1.2.0

0

การใช้ Nuget Package Manager UI ดังกล่าวข้างต้นช่วยในการถอนการติดตั้งแพคเกจ nuget ก่อน ฉันมักจะมีปัญหาเมื่อกลับไปใช้แพคเกจรุ่น nuget หากฉันไม่ถอนการติดตั้งก่อน การอ้างอิงบางอย่างไม่ได้รับการทำความสะอาดอย่างถูกต้อง ดังนั้นฉันขอแนะนำเวิร์กโฟลว์ต่อไปนี้เมื่อติดตั้งแพคเกจ nuget เก่าผ่าน Nuget Package Manager:

  1. เลือกเซิร์ฟเวอร์ / แหล่งที่มาของคุณ
  2. ค้นหาและเลือกแพ็คเกจ nuget ที่คุณต้องการติดตั้งเวอร์ชันเก่ากว่า
  3. ถอนการติดตั้งเวอร์ชันปัจจุบัน
  4. คลิกที่ดรอปดาวน์การติดตั้ง> เลือกเวอร์ชันที่เก่ากว่า> คลิกติดตั้ง

ป้อนคำอธิบายรูปภาพที่นี่

โชคดี :)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.