Um alle Pakete aus allen Projekten in der Lösung zu erhalten, verwenden Sie Get-Package
. Um alle Pakete aus einem bestimmten Projekt zu erhalten, verwenden Sie Get-Package -ProjectName "YourProjectName"
.
Entfernen Sie alle Pakete aus allen Projekten in der Lösung
Seien Sie vorsichtig: Dadurch werden ALLE Pakete in der Lösung deinstalliert . Wenn -Force
Parameter verwendet werden, werden Pakete entfernt, auch wenn Abhängigkeiten bestehen.
Get-Package | Uninstall-Package -RemoveDependencies -Force
Entfernen Sie alle Pakete aus einem bestimmten Projekt innerhalb einer Lösung
Seien Sie vorsichtig: Dadurch werden ALLE Pakete im Projekt deinstalliert . Wenn -Force
Parameter verwendet werden, werden Pakete entfernt, auch wenn Abhängigkeiten bestehen.
Get-Package -ProjectName "YourProjectName" |
Uninstall-Package -ProjectName "YourProjectName" -RemoveDependencies -Force
-force
. Das hat bei mir funktioniert.Geben Sie in der Package Manager-Konsole einfach Folgendes ein:
quelle
-Force
Schalter , um nicht in komplexen Abhängigkeitsgraphen hängen zu bleiben .Versuche dies:
quelle
Wenn Sie jedes NuGet-Paket von jedem Projekt in einer Lösung deinstallieren möchten, verwenden Sie dies in der NuGet Package Manager-Konsole:
quelle
$packages = Get-Package -ProjectName MyProjectName; foreach($package in $packages){ Uninstall-Package -ProjectName MyProjectName -Id $package.Id -Force}
Die Verwendung des Parameters -Force in meinem Fall hinterließ Änderungen an der Projektdatei und Verweise auf einige Binärdateien, die bei der normalen Deinstallation der Pakete entfernt werden sollten.
Hier ist eine naive Methode, um alle Pakete aus bestimmten Projekten zu deinstallieren, ohne den Parameter -Force zu verwenden. Tatsächlich wird versucht, die Pakete immer wieder zu deinstallieren, bis keine Pakete mehr vorhanden sind. Daher werden einige Fehler angezeigt, die abhängige Pakete erwähnen (sofern vorhanden). Diese werden jedoch immer seltener angezeigt, wenn die Blattpakete bei jeder Iteration entfernt werden.
Erwähnenswert ist auch, dass ich nur die folgenden PowerShell-Snippets in der PackageManager-Konsole getestet habe. ("Tools> NuGet Package Manager> Package Manager-Konsole")
Deinstallieren Sie alle Pakete aus allen Projekten in einer Lösung
Entfernen Sie nur Projekte, die das Wort " WildCardSearch " enthalten.
Beachten Sie, dass dieses Snippet für immer ausgeführt wird, wenn Sie neben abhängigen Paketen ein anderes Problem haben, das eine Deinstallation des Pakets verhindert, bis Sie es manuell stoppen.
quelle
Ich glaube nicht, dass dies möglich ist, also deinstallieren Sie ALLE Pakete auf einmal. Wie Sie bereits angegeben haben, können Sie ein Paket deinstallieren, es aber auch anweisen, seine Abhängigkeiten wie folgt zu deinstallieren:
Hier ist ein Blog von Marcus Hammarberg, der dies erklärt: http://www.marcusoft.net/2011/02/nuget-uninstall-remove-dependencies.html
quelle
Dummy Old School für Loop:
quelle
Ein Skript wurde aktualisiert, um alle Nuget-Pakete für ein einzelnes Projekt in der VS-Lösung zu entfernen:
quelle
Automatische Wiederherstellung (Deinstallation und anschließende Installation) von Paketen in einem Projekt mithilfe der Package Manager-Konsole:
Update-Paket-Neu installieren
quelle