আমি জানি আমি প্রধানমন্ত্রী কনসোল থেকে প্যাকেজ আনইনস্টল করতে পারি। আমি অন্য প্রকল্পের সাথে কিছু নির্ভরশীলতার সমস্যায় পড়েছি এবং আমি আবারও শুরু করতে চাই এবং আমার সমস্ত প্যাকেজগুলি একটি শটে মুছে ফেলতে হবে। কোন উপায় আছে?
উত্তর:
সমাধান ব্যবহারে সমস্ত প্রকল্প থেকে সমস্ত প্যাকেজ পেতে Get-Package
। একটি নির্দিষ্ট প্রকল্পের ব্যবহার থেকে সমস্ত প্যাকেজ পেতে Get-Package -ProjectName "YourProjectName"
।
সতর্ক থাকুন: এই আনইনস্টল হবে সব প্যাকেজ সমাধান । যদি
-Force
প্যারামিটার ব্যবহার করা হয়, নির্ভরতা বিদ্যমান থাকলেও প্যাকেজগুলি সরানো হবে।
Get-Package | Uninstall-Package -RemoveDependencies -Force
সতর্কতা অবলম্বন করুন: এটি প্রকল্পের সমস্ত প্যাকেজ আনইনস্টল করবে । যদি প্যারামিটার ব্যবহার করা হয়, নির্ভরতা বিদ্যমান থাকলেও প্যাকেজগুলি সরানো হবে।
-Force
Get-Package -ProjectName "YourProjectName" |
Uninstall-Package -ProjectName "YourProjectName" -RemoveDependencies -Force
-force
। এটি আমার পক্ষে কাজ করেছে।
আপনি যদি কোনও সমাধানে প্রতিটি প্রকল্প থেকে প্রতিটি নুগেট প্যাকেজ আনইনস্টল করতে চান তবে এটি নুগেট প্যাকেজ ম্যানেজার কনসোলে ব্যবহার করুন:
foreach($project in $projects){ $packages = Get-Package -ProjectName $project.Name; foreach($package in $packages){ Uninstall-Package -ProjectName $project.Name -Id $package.Id -Force} }
$packages = Get-Package -ProjectName MyProjectName; foreach($package in $packages){ Uninstall-Package -ProjectName MyProjectName -Id $package.Id -Force}
আমার ক্ষেত্রে-ফোর্স প্যারামিটার ব্যবহার করে বাম প্রকল্পের ফাইলের পরিবর্তন এবং কিছু বাইনারি সম্পর্কিত রেফারেন্স যা সাধারণত প্যাকেজগুলি আনইনস্টল করার সময় অপসারণ করা উচিত ছিল।
ফোর্স প্যারামিটারটি ব্যবহার না করে নির্দিষ্ট প্রকল্পগুলি থেকে সমস্ত প্যাকেজ আনইনস্টল করার জন্য একটি নিখুঁত পদ্ধতি। কার্যকরভাবে এটি প্যাকেজগুলি বারবার আনইনস্টল করার চেষ্টা করে যতক্ষণ না কোনও প্যাকেজ অবশিষ্ট থাকে না, সুতরাং নির্ভরশীল প্যাকেজগুলির উল্লেখ করার ক্ষেত্রে আপনি কিছু ত্রুটি দেখতে পাবেন (যদি আপনার সেগুলি থাকে) তবে পাতার প্যাকেজগুলি প্রতিটি পুনরাবৃত্তি মুছে ফেলার সাথে সাথে এটি কম এবং কম হয়ে যাবে।
উল্লেখ করার মতো বিষয় আমি কেবল প্যাকেজম্যানেজার কনসোলে নিম্নলিখিত পাওয়ারশেল স্নিপেটগুলি পরীক্ষা করেছি। ("সরঞ্জামগুলি> নিউগেট প্যাকেজ ম্যানেজার> প্যাকেজ ম্যানেজার কনসোল")
সমাধানে সমস্ত প্রকল্প থেকে সমস্ত প্যাকেজ আনইনস্টল করুন
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 }
মনে রাখবেন যে প্যাকেজটির একটি আনইনস্টল প্রতিরোধ করার উপর নির্ভরশীল প্যাকেজগুলি বাদ দিয়ে যদি আপনার আর একটি সমস্যা থাকে তবে আপনি নিজে নিজে এটি বন্ধ না করা পর্যন্ত এই স্নিপেট চিরকালের জন্য চলবে।
আমি বিশ্বাস করি না এটি সম্ভব, তাই একবারে সমস্ত প্যাকেজ আন-ইনস্টল করুন। যাইহোক, আপনি ইতিমধ্যে ইঙ্গিত হিসাবে আপনি একটি প্যাকেজ আন-ইনস্টল করতে পারেন, কিন্তু আপনি নিম্নলিখিতটি এটির নির্ভরতা আনইন করতেও বলতে পারেন:
আনইনস্টল করুন-প্যাকেজ ওপেনআইডিপোর্টেবল আরিয়া - রিমোভিত্তিকতা
এখানে মার্কাস Hammarberg দ্বারা একটি ব্লগ এই ব্যাখ্যা হল: http://www.marcusoft.net/2011/02/nuget-uninstall-remove-dependencies.html
লুপের জন্য ডামি পুরাতন স্কুল:
$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++
}
}
ভিএস সমাধানে একক প্রকল্পের সমস্ত ন্যুগেট প্যাকেজ অপসারণের জন্য একটি স্ক্রিপ্ট আপডেট করেছে:
$projectName = "MyProjectName"; $packages = Get-Package -ProjectName $projectName; foreach($package in $packages){ Uninstall-Package -ProjectName $projectName -Id $package.Id -Force}