আমি কীভাবে ভিজুয়াল স্টুডিওর কোনও সমাধান থেকে * সমস্ত * নুগেট প্যাকেজ আনইনস্টল করব


90

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

উত্তর:


132

সমাধান ব্যবহারে সমস্ত প্রকল্প থেকে সমস্ত প্যাকেজ পেতে Get-Package। একটি নির্দিষ্ট প্রকল্পের ব্যবহার থেকে সমস্ত প্যাকেজ পেতে Get-Package -ProjectName "YourProjectName"


সমাধানে সমস্ত প্রকল্প থেকে সমস্ত প্যাকেজ সরান

সতর্ক থাকুন: এই আনইনস্টল হবে সব প্যাকেজ সমাধান । যদি -Forceপ্যারামিটার ব্যবহার করা হয়, নির্ভরতা বিদ্যমান থাকলেও প্যাকেজগুলি সরানো হবে।

Get-Package | Uninstall-Package -RemoveDependencies -Force


একটি সমাধানের মধ্যে একটি নির্দিষ্ট প্রকল্প থেকে সমস্ত প্যাকেজ সরিয়ে দিন

সতর্কতা অবলম্বন করুন: এটি প্রকল্পের সমস্ত প্যাকেজ আনইনস্টল করবে । যদি প্যারামিটার ব্যবহার করা হয়, নির্ভরতা বিদ্যমান থাকলেও প্যাকেজগুলি সরানো হবে।-Force

Get-Package -ProjectName "YourProjectName" | 
Uninstall-Package -ProjectName "YourProjectName" -RemoveDependencies -Force

27
আমি শেষে-মাজা প্যারামিটার যুক্ত করার পরামর্শ দিই। এটি ছাড়া আমি অন্যান্য নিউগেট প্যাকেজগুলির সাথে নির্ভরতার ভিত্তিতে আমার সমস্ত নির্ভরতা আনইনস্টল করতে পারি না।
শান 21

এটিই আসল উত্তর। শানের ব্যবহারের পরামর্শের সাথে সম্মিলিত -force। এটি আমার পক্ষে কাজ করেছে।
স্পাইকি

86

প্যাকেজ ম্যানেজার কনসোলে কেবল টাইপ করুন:

get-package | আনইনস্টল-প্যাকেজ-অপসারণ নির্ভরতা


14
জটিল নির্ভরতা গ্রাফ আটকে না যাওয়ার জন্য, -Forceস্যুইচ ব্যবহার করুন ।
আলিরিজা

12
সতর্কতা: এই প্রশংসা পুরো সমাধানের মধ্যে সমস্ত প্যাকেজ আনইনস্টল করবে।
জ্যাকব

31

এটা চেষ্টা কর:

get-package | uninstall-package -removedependencies -force

15

আপনি যদি কোনও সমাধানে প্রতিটি প্রকল্প থেকে প্রতিটি নুগেট প্যাকেজ আনইনস্টল করতে চান তবে এটি নুগেট প্যাকেজ ম্যানেজার কনসোলে ব্যবহার করুন:

foreach($project in $projects){ $packages = Get-Package -ProjectName $project.Name; foreach($package in $packages){ Uninstall-Package -ProjectName $project.Name -Id $package.Id -Force} }

4
দুর্দান্ত উত্তর। একক প্রকল্পের স্ক্রিপ্ট:$packages = Get-Package -ProjectName MyProjectName; foreach($package in $packages){ Uninstall-Package -ProjectName MyProjectName -Id $package.Id -Force}
মোহসেন আফশিন

10

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

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

উল্লেখ করার মতো বিষয় আমি কেবল প্যাকেজম্যানেজার কনসোলে নিম্নলিখিত পাওয়ারশেল স্নিপেটগুলি পরীক্ষা করেছি। ("সরঞ্জামগুলি> নিউগেট প্যাকেজ ম্যানেজার> প্যাকেজ ম্যানেজার কনসোল")

সমাধানে সমস্ত প্রকল্প থেকে সমস্ত প্যাকেজ আনইনস্টল করুন

while((Get-Project -All | Get-Package).Length -gt 0) { Get-Project -All | Get-Package | Uninstall-Package }

শুধুমাত্র " ওয়াইল্ডকার্ডসন্ধান " শব্দযুক্ত প্রকল্পগুলি সরিয়ে ফেলুন

while((Get-Project -All | Where-Object ProjectName -like '*WildCardSearch*'  | Get-Package).Length -gt 0) { Get-Project -All | Where-Object ProjectName -like '*WildCardSearch*' | Get-Package | Uninstall-Package }

মনে রাখবেন যে প্যাকেজটির একটি আনইনস্টল প্রতিরোধ করার উপর নির্ভরশীল প্যাকেজগুলি বাদ দিয়ে যদি আপনার আর একটি সমস্যা থাকে তবে আপনি নিজে নিজে এটি বন্ধ না করা পর্যন্ত এই স্নিপেট চিরকালের জন্য চলবে।


3

আমি বিশ্বাস করি না এটি সম্ভব, তাই একবারে সমস্ত প্যাকেজ আন-ইনস্টল করুন। যাইহোক, আপনি ইতিমধ্যে ইঙ্গিত হিসাবে আপনি একটি প্যাকেজ আন-ইনস্টল করতে পারেন, কিন্তু আপনি নিম্নলিখিতটি এটির নির্ভরতা আনইন করতেও বলতে পারেন:

আনইনস্টল করুন-প্যাকেজ ওপেনআইডিপোর্টেবল আরিয়া - রিমোভিত্তিকতা

এখানে মার্কাস Hammarberg দ্বারা একটি ব্লগ এই ব্যাখ্যা হল: http://www.marcusoft.net/2011/02/nuget-uninstall-remove-dependencies.html


4
1 প্যাকেজটি অন্য অনেকের উপর নির্ভর করে যখন "নির্ভরতাগুলি সরান" কাজ করে। এন প্যাকেজগুলি মূল একের উপর নির্ভর করে যখন এটি কাজ করে না (যেমন বুস্ট)। আপনাকে একের পর এক নুগেট বুস্ট প্যাকেজগুলি মুছে ফেলতে হবে, যা ব্যথা।
কোয়ান্ট_দেব

1

লুপের জন্য ডামি পুরাতন স্কুল:

$packages = get-package
$packageId = "Apache.NMS.ActiveMQ"


$counter = 1
foreach($package in $packages){     
    if($package.Id -eq $packageId)
    {   
        Write-Host "`n$counter-Deleting Package:`n"
        $package        
        Uninstall-Package -Id $packageId -ProjectName $package.ProjectName -RemoveDependencies 
        Write-Host "`n============================================`n"
        $counter++
    }
}

1

ভিএস সমাধানে একক প্রকল্পের সমস্ত ন্যুগেট প্যাকেজ অপসারণের জন্য একটি স্ক্রিপ্ট আপডেট করেছে:

$projectName = "MyProjectName"; $packages = Get-Package -ProjectName $projectName; foreach($package in $packages){ Uninstall-Package -ProjectName $projectName -Id $package.Id -Force}

0

প্যাকেজ ম্যানেজার কনসোল ব্যবহার করে একটি প্রকল্পে প্যাকেজগুলির স্ব-পুনঃস্থাপন (আনইনস্টল করুন এবং তারপরে ইনস্টল করুন):

আপডেট-প্যাকেজ -ইনস্টল

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