নুগেটের মাধ্যমে প্যাকেজের একটি পুরানো সংস্করণ কীভাবে ইনস্টল করবেন?


384

আমি একটি প্যাকেজ ( Newtonsoft.Json) এর পুরানো সংস্করণ ইনস্টল করতে চাই । তবে নুগেট পিছনে ফিরে আসে।

PM> Install-Package Newtonsoft.Json -Version 4.0.5
Successfully installed 'Newtonsoft.Json 4.0.5'.
Install failed. Rolling back...
Install-Package : Already referencing a newer version of 'Newtonsoft.Json'.

যে কোন সাহায্য সাদরে গৃহীত হবে।


উত্তর:


579

নিম্নলিখিত চেষ্টা করুন:

Uninstall-Package Newtonsoft.Json -Force

অনুসরণ করেছে:

Install-Package Newtonsoft.Json -Version <press tab key for autocomplete>

টুইটারাইজারটি নিউটনসফট.জসন ব্যবহার করে, নতুনটি আনইনস্টল না করেই আমাকে পুরানো ইনস্টল করতে হবে। প্রধানমন্ত্রী> আনইনস্টল-প্যাকেজ নিউটনসফট.জসন আনইনস্টল-প্যাকেজ: 'নিউটনসফট.জসন ৮.০.৮' আনইনস্টল করতে অক্ষম কারণ এটি 'টুইটারাইজার ২.৪.০.২6565৩২' নির্ভর করে।
নেবাইড ইল্ডিজ

9
আপনি প্যাকেজের সাথে বিদ্যমান নির্ভরতাগুলি উল্লেখ করেননি তাই আমি সে সম্পর্কে অবহিত ছিলাম: আনইনস্টল-প্যাকেজ কমান্ডটিতে (উপরে সম্পাদিত) ফরাসী স্যুইচটি যুক্ত করার চেষ্টা করুন
জাভিয়ের ডিকোস্টার

আমার অনুপস্থিতির জন্য দুঃখিত -ফর্স কাজ করেছে এবং আমি পুরানোটি ইনস্টল করেছি। তোমাকে অনেক ধন্যবাদ.
নেবাইড ইল্ডিজ

সংস্করণ 5-এ ডাউনগ্রেড করার জন্য অ্যান্টিটি ফ্রেমওয়ার্ক 6 বিটা আনইনস্টল করার সময় আমি বার্তা আনতে থাকি যাতে আমাকে আনইনস্টল সম্পূর্ণ করতে ভিএস পুনরায় চালু করতে বলা হয় তবে তা করার ফলে বার্তাটি সরা হয়নি। আমি কেবল প্যাকেজ ফোল্ডারে গিয়ে সেখানে থেকে ফাঁকা গাছের বাকী কাঠামো মুছে
ফেলেছিলাম

@ সিমন_উইভার আমি সন্দেহ করি যে ইএফ 6 পিকেজি এমন কিছু করছে যা এর কারণ ঘটেছে (পাওয়ারশেল স্ক্রিপ্টগুলিতে উদাহরণস্বরূপ কিছু অ্যাপডোমেন কোড লক্ষ্য করেছে, সম্ভবত ভিএস ডেল এর কিছুটা ধরে রেখেছে)
জাভিয়ের ডিকোস্টার

266

এর মতো Nuget 2.8 সেখানে কোনো বৈশিষ্ট্যের হয় ডাউনগ্রেড একটি প্যাকেজ।

নিউজ ২.৮ রিলিজ নোট

উদাহরণ:

প্যাকেজ ম্যানেজার কনসোলে প্রবেশ করা নিম্নলিখিত কমান্ডটি কাউচবেস ক্লায়েন্টকে 1.3.1.0 সংস্করণে ডাউনগ্রেড করবে

Update-Package CouchbaseNetClient -Version 1.3.1.0

ফলাফল:

Updating 'CouchbaseNetClient' from version '1.3.3' to '1.3.1.0' in project [project name].
Removing 'CouchbaseNetClient 1.3.3' from [project name].
Successfully removed 'CouchbaseNetClient 1.3.3' from [project name].

নীচে ক্রিম্বো অনুসারে কিছু দ্রষ্টব্য:

"এই পদ্ধতিটি একটি প্রিরিলিজ সংস্করণ থেকে অন্য প্রিরিলিজ সংস্করণে ডাউনগ্রেডের জন্য কাজ করে না - এটি কেবল একটি রিলিজ সংস্করণে ডাউনগ্রেডিংয়ের জন্য কাজ করে"


13
এটি এখন সর্বনিম্ন প্রচেষ্টা সহ সেরা সমাধান হিসাবে গ্রহণযোগ্য উত্তর হওয়া উচিত।
পিটার

হ্যাঁ, সমস্ত নির্ভরতা ডাউনগ্রেড সহ এক কবজির মতো কাজ করে - নিখুঁত
পিটার

7
দুর্ভাগ্যক্রমে এই পদ্ধতিটি একটি প্রিরিলেজ সংস্করণ থেকে অন্য প্রিরিলিজ সংস্করণে ডাউনগ্রেডের জন্য কাজ করে না - এটি কেবল একটি রিলিজ সংস্করণে ডাউনগ্রেডিংয়ের জন্য কাজ করে।
ক্রিম্বো

@ জেমস রোল্যান্ডটি দুর্দান্ত লাগবে যদি আপনি উত্তরের ক্রিম্বো দ্বারা পূর্বনির্ধারিত সতর্কতাটি হাইলাইট করতে পারেন
উদাহরণস্বরূপ

51

আমি জাভিয়ারের উত্তরটি বেশ খানিকটা ব্যবহার করেছি। আমি যুক্ত করতে চাই যে একটি নির্দিষ্ট পরিসরে প্যাকেজ সংস্করণকে সীমাবদ্ধ করা অনুগেটের সর্বশেষ সংস্করণগুলিতে সহজ এবং দরকারী is

উদাহরণস্বরূপ, আপনি যদি কখনও আপনার প্রকল্পের Newtonsoft.Jsonঅতীত সংস্করণটি আপডেট করতে চান না, তবে আপনার ফাইলের সাথে 3.x.xসম্পর্কিত packageউপাদানটি packages.configদেখতে দেখতে এটি পরিবর্তন করুন:

<package id="Newtonsoft.Json" version="3.5.8" allowedVersions="[3.0, 4.0)" targetFramework="net40" />

allowedVersionsবৈশিষ্ট্যটি লক্ষ্য করুন । এটি প্যাকেজটির সংস্করণ 3.0( অন্তর্ভুক্ত ) এবং 4.0( একচেটিয়া ) মধ্যে সংস্করণগুলিতে সীমাবদ্ধ করবে । তারপরে, আপনি যখন Update-Packageপুরো সমাধানটি সমাধান করেন, তখন আপনাকে সেই বিশেষ প্যাকেজটির অতীত সংস্করণ আপডেট হওয়ার বিষয়ে চিন্তা করার দরকার নেই 3.x.x

এই কার্যকারিতা জন্য ডকুমেন্টেশন এখানে


4
আপনার সমাধানটি ভেঙে দেওয়া থেকে নিউগেট আপডেটগুলি রোধ করতে খুব দরকারী! (মাইক্রোসফট. নেট.এইচটিপি v2.1.10, আমি আপনার দিকে তাকাচ্ছি ...)
ডগলাস বার্বিন

6
আমি JQuery 1.9 এবং 2.0 এ খুঁজছি।
মার্টিন ব্রাউন

মাইক্রোসফ্ট.আপনি আমার জন্য :-)
বাইকম্যান 868

19

এখন, এটি ভিজ্যুয়াল স্টুডিও 2015 + এর পরে খুব সরলিকৃত হয়েছে । Downgrade / Upgradeপ্যাকেজ ম্যানেজার কনসোলে কমান্ড কার্যকর না করে আপনি নিজেই ইউজার ইন্টারফেসের মধ্যে এটি করতে পারেন ।

  1. Right click on your projectএবং go to Manage Nuget Packages

  2. নীচের চিত্রটি দেখুন।

    • Select your Package and Choose the Version, যা আপনি ইনস্টল করতে চেয়েছিলেন।

প্রকল্পের প্যাকেজ ম্যানেজার উইজেট

ভেরি ভেরি সিম্পল, তাই না? :) আশাকরি এটা সাহায্য করবে...


1
হাঁ! এটি যাওয়ার উপায় :)
ইমপোস্টর সিনড্রোম

0

এটি পেতে আরও একটি ম্যানুয়াল বিকল্প:

.nuget\nuget.exe install Newtonsoft.Json -Version 4.0.5
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.