আমি কীভাবে নুগেট প্যাকেজগুলি মুছব যা আমার সমাধানের কোনও প্রকল্প দ্বারা রেফারেন্স করা হয়নি?


141

কোনওভাবে ভিএস2012 এবং .NET 4.5 এ আপগ্রেড করার সময় আমি নুগেটকে বিভ্রান্ত করতে পেরেছি। প্যাকেজ ম্যানেজারে উপস্থিত প্যাকেজগুলি রয়েছে (এবং প্যাকেজ ফোল্ডার) যা আমি মুছে ফেলতে পারি না (আমি বিশ্বাস করি তারা উত্তরাধিকারী এএসপি। নেট নিউগেট প্যাকেজগুলি নতুন সংস্করণের সাথে নতুন প্যাকেজের নামের সাথে প্রতিস্থাপিত হয়েছে। তাদের প্রত্যেকেরই কেবল একটি পরিচালনা বোতাম রয়েছে - তবে কোনও আনইনস্টল বোতাম নেই And এবং আপনি কোথায় সেগুলি ব্যবহার করা হয় তা দেখার জন্য আপনি দেখতে পাবেন যে সমাধানের কোনও প্রকল্পেই সেগুলি উল্লেখ করা হয়নি? তারা একটি আনইনস্টল প্রদর্শন করছে না ?

উত্তর:


108

আপনি কমান্ড সহ প্যাকেজ ম্যানেজার কনসোল ব্যবহার করতে পারেন: Uninstall-Package PackageIdএটি সরাতে, বা সলিউশন ফোল্ডারের অধীনে 'প্যাকেজগুলি' ফোল্ডার থেকে প্যাকেজ ফোল্ডারটি মুছুন। প্যাকেজ ম্যানেজার কনসোল সম্পর্কে আরও তথ্য আপনি এখানে পেতে পারেন: http://docs.nuget.org/docs/references/package-manager-console-powershell-references


8
ধন্যবাদ পাভেল আমার মনে হয়েছিল আপনি কেবল ফোল্ডারগুলি মুছতে পারবেন। এটি কিছুটা উদ্বেগজনক কারণ আমাকে ম্যানুয়ালি নিশ্চিত করতে হয়েছিল যে প্যাকেজের কোনওটিই রেফারেন্স করা হয়নি (সেগুলি প্রদর্শিত হবে না)। প্যাকেজ ম্যানেজার কেন একটি আনইনস্টল (বা সরান) বোতামটি দেখায় না তা জানতে আমি এখনও আগ্রহী of
হাওয়ার্ড পিনসলে

2
সমাধান স্তরের প্যাকেজ ম্যানেজার সমস্ত প্যাকেজগুলি দ্রবণ থেকে শুরু করে প্রকল্পগুলি এবং সমস্ত প্যাকেজ যা প্যাকেজ ফোল্ডারে রেখেছিল তা প্রকল্পগুলিতে উল্লেখ করে তবে রেফারেন্স দেয় না। এই প্যাকেজগুলির জন্য ইউআই-তে কোনও আনইনস্টল করার ক্ষমতা নেই। আমি একমত যে এটি ভুল আচরণের ফলাফল, তবে এই ক্ষেত্রে আপনাকে এটি ম্যানুয়ালি পরীক্ষা করা উচিত। এবং প্যাকেজটি মুছুন বা এটি পুনরায় ইনস্টল করুন যখন আপনার নিশ্চিত হবে আপনার এটি দরকার হয় বা না।
পাভেল বাকশী

1
স্রেফ ফোল্ডারটি সরিয়ে এবং নিউগেটে ফিরে গিয়ে প্যাকেজটি দেখুন, এটি এখনও পাশে থাকা সবুজ রঙের টিকের সাথে ইনস্টল করা হিসাবে প্রদর্শিত হবে, কনসোলটি ব্যবহার করে যথাযথ আনইনস্টল করা আরও ভাল।
80 এস জি

1
@ আইসআরবি, এটি একটি পাওয়ারশেল কমান্ড যা ক্রিয়াপদ-নাম যেমন গেট-ইউজার বা রিমুভ-আইটেম হিসাবে যায়, আপনার উদাহরণটি বিশেষ্য - ক্রিয়াপদ
নিক ইয়ং

1
@ এসআরবি যেমন নিক ইয়ং বলেছেন, এবং এর পাশাপাশি এটি একটি ভয়াবহ প্রশংসা হবে Install-Package
অধ্যাপক

159

আমি এটির জন্য একটি কার্যকরী সন্ধান পেয়েছি।

  1. প্যাকেজ পুনরুদ্ধার এবং স্বয়ংক্রিয় চেকিং সক্ষম করুন (বিকল্প / প্যাকেজ পরিচালক / সাধারণ)
  2. প্যাকেজ ফোল্ডারের পুরো বিষয়বস্তু মুছুন (আপনি নার্ভাস থাকলে রিসাইকেল বিনে!)
  3. সমাধানের জন্য নিউজ প্যাকেজগুলি পরিচালনা করুন
  4. পুনরুদ্ধার বোতামটি ক্লিক করুন।

NuGet পুনরুদ্ধার করতে হবে শুধুমাত্র আপনার সমাধান ব্যবহৃত প্যাকেজ। আপনি প্যাকেজগুলির একটি দুর্দান্ত, প্রবাহিত সেট সহ শেষ করবেন।


1
এই না না থেকে প্যাকেজ অপসারণ packages.configএবং না প্রকল্প থেকে রেফারেন্স সরাবেন?
কোডকাস্টার

1
@ কোডকাস্টার আপনার ডাবল নেতিবাচকটিকে পার্স করা শক্ত। কনফিগারেশন এবং রেফারেন্স থেকে কিছুই সরানো হবে না। এখানে ধারণাটি হ'ল নুগেট প্যাকেজগুলি মুছে ফেলা হবে যা আর উল্লেখ করা হয়নি
জেমস এল

1
দুর্দান্ত উত্তর! আপনি যদি টিএফএস ব্যবহার করে থাকেন তবে আপনার প্রথমে সোর্স ক্যান্ট্রোল এক্সপ্লোরার। / প্যাকেজগুলির সমস্ত সামগ্রী মুছে ফেলা উচিত যাতে বিল্ড মেশিনের মতো অন্যান্য ক্লায়েন্টগুলিও অনর্থক আইটেমগুলি সরিয়ে ফেলতে পারে।
আলেকজান্ডার শ্মিট

4
@ স্প্রিন্টার 252, আপনি যদি প্যাকেজ পুনরুদ্ধার ব্যবহার করছেন তবে আপনার প্যাকেজগুলি প্রথমে উত্স নিয়ন্ত্রণে পরীক্ষা করার কথা নয়। এটি প্যাকেজ পুনরুদ্ধার ব্যবহারের অন্যতম প্রধান সুবিধা। প্যাকেজ পুনরুদ্ধারে রূপান্তর করার অংশ হিসাবে, প্যাকেজ ফোল্ডারে একটি 'উপেক্ষা' নিয়ম স্থাপন করা উচিত।
কার্ল বুসেমা

@ কার্লবুসেমা আপনি ঠিক বলেছেন যেহেতু নতুন নিউগেট-সংস্করণটি এটি এত গুরুত্বপূর্ণ নয় কারণ নুগেট সাবফোল্ডারে কোনও বাইনারি যুক্ত করবে না। সুতরাং আপনি কেবল ফোল্ডার কাঠামো পাচ্ছেন। আমার মন্তব্য টিএফএসের ডিফল্ট আচরণের সাথে সম্পর্কিত ছিল (প্যাকেজ-ফোল্ডার অন্তর্ভুক্ত)। টিএফএসে কোথাও উপেক্ষা করা হয় ;-)। জামারিনের সাথে মিশ্রিত প্রকল্পগুলির জন্য গুরুত্বপূর্ণ।
আলেকজান্ডার শ্মিট

17

প্রথমে প্যাকেজ ম্যানেজার কনসোলটি খুলুন। তারপরে ড্রপডাউন তালিকা থেকে আপনার প্রকল্পটি নির্বাচন করুন। এবং নুগেট প্যাকেজ আনইনস্টল করার জন্য নিম্নলিখিত কমান্ডগুলি চালান।

Get-Package

আপনি ইনস্টল করা সমস্ত প্যাকেজ পাওয়ার জন্য।

এবং তারপর

Uninstall-Package PagedList.Mvc

--- পেজডলিস্ট.এমভিসি নামের একটি প্যাকেজ আনইনস্টল করতে

বার্তা

PM> Uninstall-Package PagedList.Mvc
Successfully removed 'PagedList.Mvc 4.5.0.0' from MCEMRBPP.PIR.

এই উত্তরটি আমার পক্ষে পুরোপুরি কার্যকর হয়েছিল worked আমার পরিস্থিতিটি ছিল প্যাকেজটি কেবলমাত্র ডায়ালগের আপডেটগুলি ট্যাবের অধীনে প্রদর্শিত হয়েছিল ... এবং যখন আমি আপডেট হিট করি তখন কোনও প্রকল্পে প্যাকেজ ইনস্টল করা হয়নি - সুতরাং এটি আপডেট করার বা এটি সরানোর কোনও উপায় ছিল না।
আজর্ক 3

8

আপনি যদি সমাধানগুলিতে একাধিক প্রকল্পে প্রয়োগ করা নিউট প্যাকেজটি মুছে / আনইনস্টল করতে চান তবে এখানে যান:

  1. সরঞ্জাম-> নুগেট প্যাকেজ ম্যানেজার -> সমাধানের জন্য নুগেট প্যাকেজগুলি পরিচালনা করুন

  2. বাম কলামে যেখানে 'ইনস্টলড প্যাকেজগুলি' রয়েছে সেগুলি 'সমস্ত' নির্বাচন করুন, সুতরাং আপনি ইনস্টল করা প্যাকেজগুলির একটি তালিকা দেখতে পাবেন এবং সেগুলি জুড়ে পরিচালনা করুন বোতামটি।

  3. ম্যানেজ বোতামটি নির্বাচন করুন এবং আপনি একটি পপ আউট পাবেন, প্রকল্পের নাম জুড়ে চেকবক্সটি নির্বাচন করুন এবং ঠিক আছে

বাকী কাজ প্যাকেজ ম্যানেজার আপনার জন্য এটি করবে।


1
এটি অবশ্যই আমি উত্তরটি খুঁজছিলাম, ধন্যবাদ!
সাল

3

আপনি যদি আনইনস্টল-প্যাকেজ ইউটিলিটিটি ব্যবহার করে প্যাকেজটি সরিয়ে ফেলেছেন এবং সমাধানের অধীনে প্যাকেজ ডিরেক্টরি থেকে পছন্দসই প্যাকেজটি মুছে ফেলেছেন (এবং আপনি এখনও ত্রুটি পেয়ে যাচ্ছেন), কেবল কোড সম্পাদকে * .csproj ফাইলটি খুলুন এবং ম্যানুয়ালি ট্যাগটি সরিয়ে ফেলুন। উদাহরণস্বরূপ, আমি ন্যুগেট প্যাকেজ জামারিন.ফর্মস.আলিয়াস থেকে মুক্তি পেতে চেয়েছিলাম এবং আমি * .csproj ফাইল থেকে এই লাইনগুলি সরিয়েছি।

এমএসবিল্ড স্ক্রিপ্ট থেকে নুগেট প্যাকেজ সরানো হচ্ছে

এবং পরিশেষে, একবার ভিজ্যুয়াল স্টুডিওতে অনুরোধ করা (প্রকল্পের ফাইল পরিবর্তন করার পরে) আপনার প্রকল্পটি পুনরায় লোড করতে ভুলবেন না। আমি এটি ভিজ্যুয়াল স্টুডিও 2015 এ চেষ্টা করেছি, তবে এটি ভিজ্যুয়াল স্টুডিও 2010 এবং এর পরেও কাজ করা উচিত।

আশাকরি এটা সাহায্য করবে.


2

একটি বিকল্প, হ'ল অব্যক্ত প্যাকেজটি ইনস্টল করুন যা আপনি আপনার সমাধানের যে কোনও প্রকল্পে মুছতে চান, তারপরে, এটি আনইনস্টল করুন এবং নুগেট এটিও সরিয়ে ফেলবে।

একটি উপযুক্ত আনইনস্টলার এখানে প্রয়োজন।


এটি পুনরায় ইনস্টল না করে সঠিকভাবে আনইনস্টল করার কোনও উপায় আছে কি?
নাক্স

2

সমাধান ঘ

প্যাকেজগুলি পেতে এবং যেমন একক বিবৃতিতে সরানোর জন্য পাওয়ারশেল পাইপলাইনটি ব্যবহার করুন

Get-Package | Uninstall-Package

সমাধান 2

আপনি যদি নির্বাচিত প্যাকেজগুলি আনইনস্টল করতে চান তবে এই পদক্ষেপগুলি অনুসরণ করুন

  1. GetPackagesপ্যাকেজগুলির তালিকা পেতে ব্যবহার করুন
  2. নিম্পল পাঠ্য সফ্টওয়্যার ডাউনলোড করুন
  3. GetPackagesনিমবলটেক্সটে আউটপুট অনুলিপি করুন (তালিকার উইন্ডোতে প্রতিটি সারির জন্য)
  4. (প্রয়োজনে কলাম সেপারেটর সেট করুন
  5. প্রকার Uninstall-Package $0(প্যাটার্ন উইন্ডো ব্যবহার করে বিকল্প)
  6. ফলাফলগুলি অনুলিপি করুন এবং তাদের প্যাকেজ পরিচালনা কনসোলে আটকান

যে সব ভাবেন।


1

একটি নিউগেট প্যাকেজ অন্য নুগেট প্যাকেজটি উল্লেখ করতে পারে। সুতরাং, আন্তঃ-প্যাকেজ নির্ভরতা সম্পর্কে খুব সাবধান হন be আমি সবেমাত্র একটি গুগল ম্যাপ প্যাকেজ আনইনস্টল করেছি এবং এটি পরে নিউটনসফট, সত্তা ফ্রেমওয়ার্ক ইত্যাদির অন্তর্নিহিত প্যাকেজগুলি আনইনস্টল করে

সুতরাং, প্যাকেজ ফোল্ডার থেকে ম্যানুয়ালি নির্দিষ্ট প্যাকেজ মুছে ফেলা নিরাপদ হবে।


1

প্যাকেজ ম্যানেজার কনসোল উইন্ডো থেকে, প্রায়শই আপনি প্যাকেজ ইনস্টল করতে যে কোনও আদেশ ব্যবহার করেন তা সেই প্যাকেজটি আনইনস্টল করতে ব্যবহার করা যেতে পারে। কেবল ইনস্টল কমান্ডটি আনইনস্টল দিয়ে প্রতিস্থাপন করুন ।

উদাহরণস্বরূপ, পাওয়ারটিসিপিটেলনেট ইনস্টল করতে কমান্ডটি হ'ল:

Install-Package PowerTCPTelnet -Version 4.4.9

একই আনইনস্টল করতে কমান্ডটি হ'ল:

Uninstall-Package PowerTCPTelnet -Version 4.4.9


1

ভিএস2019> সরঞ্জামসমূহ> বিকল্পগুলি> নুগেট প্যাকেজ ম্যানেজার> সাধারণ> "সমস্ত নুজার ক্যাশে সাফ করুন" এ ক্লিক করুন


-2

অন্য উপায়, এবং আমার পক্ষে খুব সহজ:

  1. আপনার সৌশনে যান এবং তারপরে রাইট ক্লিক করুন।

  2. "সমাধানের জন্য পরিচালিত NUgets প্যাকেজগুলি" বিকল্পটি নির্বাচন করুন। এটি একটি পপআপ উইন্ডোটি খুলবে, "সেটিংস" বোতামটিতে ক্লিক করুন। এটি অন্যান্য পপআপ উইন্ডোটি খুলবে এবং তারপরে অনুসন্ধান করবে: "প্যাকেজ ম্যানেজার"।

  3. "প্যাকেজ ম্যানেজার" বিকল্পের অভ্যন্তরে আপনার আরও দুটি বিকল্প রয়েছে (আই জেনারেল II। প্যাকেজগুলি উত্স) প্রতিটি বিকল্পে সমস্ত চেকবক্সটি চেক করে ফেলুন।

এই পদক্ষেপগুলি আপনার প্রকল্প থেকে নিউগেটকে নিষ্ক্রিয় করে।

আমি আশা করি সত্যই আপনাকে সাহায্য করবে।


-2

আপনি যদি ভিজ্যুয়াল স্টুডিও বিকল্পটি ব্যবহার করতে চান তবে নীচের লিঙ্কটি দেখুন

http://spvenky.wordpress.com/2014/08/10/how-to-remove-nuget-packages-from-existing-visual-studio-solution/

পদক্ষেপ 1: ভিজ্যুয়াল স্টুডিওতে, সরঞ্জাম / নুগেট প্যাকেজ ম্যানেজারে যান / সমাধানের জন্য নিউগেট প্যাকেজগুলি পরিচালনা করুন…

পদক্ষেপ 2: বর্তমান সমাধান থেকে আপনার প্রকল্প (গুলি) পরীক্ষা করুন

পদক্ষেপ 3: প্রকল্প (গুলি) নির্বাচন করুন এবং ওকে টিপুন


2
উত্তরটি স্ট্যাকওভারফ্লোতে কেবলমাত্র একটি লিঙ্ক পোস্ট করার চেয়ে লেখা ভাল, কারণ ভবিষ্যতে লিঙ্কগুলির মেয়াদ শেষ হতে পারে।
অ্যামাদিউস সানচেজ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.