wake-up-neo.com

Wie lösche ich NuGet-Pakete, auf die von keinem Projekt meiner Lösung verwiesen wird?

Während des Upgrades auf VS2012 und .NET 4.5 habe ich es irgendwie geschafft, NuGet verwirrt zu bekommen. Es gibt Pakete, die im Paket-Manager (und im Paketordner) angezeigt werden und nicht gelöscht werden können (ich glaube, dass es sich um ältere ASP.NET NuGet-Pakete handelt, die durch neue Paketnamen durch die neue Version ersetzt wurden. Sie haben jeweils nur ein Verwalten button - aber keine Deinstallationsschaltfläche. Wenn Sie nachsehen, wo sie verwendet werden, können Sie feststellen, dass von keinem Projekt der Lösung auf sie verwiesen wird. Sie sindNICHTund zeigen eine Deinstallation an.

129
Howard Pinsley

Sie können die Package Manager Console mit folgendem Befehl verwenden: Uninstall-Package PackageId, um sie zu entfernen, oder einfach den Paketordner aus dem Ordner "packages" im Lösungsordner löschen. Weitere Informationen zur Package Manager Console finden Sie hier: http://docs.nuget.org/docs/reference/package-manager-console-powershell-reference

102
Pavel Bakshy

Ich habe dafür eine Problemumgehung gefunden.

  1. Paketwiederherstellung und automatische Überprüfung aktivieren (Optionen/Paket-Manager/Allgemein)
  2. Löschen Sie den gesamten Inhalt des Paketordners (in den Papierkorb, wenn Sie nervös sind!)
  3. Verwalten Sie Nuget-Pakete für eine Lösung
  4. Klicken Sie auf die Wiederherstellungsschaltfläche.

NuGet stellt only die in Ihrer Lösung verwendeten Pakete wieder her. Sie erhalten ein schönes, optimiertes Paket von Paketen.

150
James L

Öffnen Sie zuerst die Package Manager Console. Wählen Sie dann Ihr Projekt aus der Dropdown-Liste aus. Führen Sie die folgenden Befehle aus, um Nuget-Pakete zu deinstallieren.

Get-Package

um das gesamte installierte Paket zu erhalten.

und dann

Uninstall-Package PagedList.Mvc

--- um ein Paket namens PagedList.MVC zu deinstallieren

Botschaft

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

Wenn Sie das Nuget-Paket löschen/deinstallieren möchten, das auf mehrere Projekte in Ihren Lösungen angewendet wird , gehen Sie zu:

  1. Extras-> Nuget Package Manager -> Verwalten von Nuget-Paketen für Lösungen

  2. Wählen Sie in der linken Spalte "Installierte Pakete" die Option "Alle" aus. Sie sehen eine Liste der installierten Pakete und die Schaltfläche "Verwalten".

  3. Klicken Sie auf die Schaltfläche Verwalten, um ein Popup-Fenster zu erhalten. Deaktivieren Sie das Kontrollkästchen neben dem Projektnamen und Ok

Der Rest der Arbeit, die Package Manager für Sie erledigt.

7
d689p

Wenn Sie das Paket mit dem Dienstprogramm Uninstall-Package entfernt und das gewünschte Paket aus dem Paketverzeichnis unter solution gelöscht haben (und Sie erhalten immer noch einen Fehler), öffnen Sie die * .csproj-Datei im Code-Editor und entfernen Sie das Tag manuell. Wie zum Beispiel wollte ich das Nuget-Paket Xamarin.Forms.Alias ​​ entfernen und diese Zeilen aus der * .csproj-Datei entfernen.

 Removing nuget package from msbuild script

Vergessen Sie nicht, Ihr Projekt erneut zu laden, sobald Sie in Visual Studio dazu aufgefordert werden (nachdem Sie die Projektdatei geändert haben). Ich habe es in Visual Studio 2015 ausprobiert, aber es sollte auch in Visual Studio 2010 und darüber funktionieren.

Hoffe das hilft.

2
A.B.

Alternativ können Sie das unbenutzte Paket, das Sie löschen möchten, in einem beliebigen Projekt Ihrer Lösung installieren. Deinstallieren Sie es anschließend, und Nuget entfernt es ebenfalls.

Hier ist ein korrektes Deinstallationsprogramm erforderlich.

1
D.Rosado

Ein NuGet-Paket kann auf ein anderes NuGet-Paket verweisen. Seien Sie also sehr vorsichtig bei Abhängigkeiten zwischen den Paketen. Ich habe gerade ein Google-Kartenpaket deinstalliert und anschließend die darunter liegenden Pakete wie Newtonsoft, Entity Framework usw. deinstalliert.

Das manuelle Löschen eines bestimmten Pakets aus dem Paketordner wäre daher sicherer.

1
Aki

Anders und für mich ganz einfach:

  1. Gehen Sie zu Ihrer Soution und klicken Sie mit der rechten Maustaste darauf.

  2. Wählen Sie die Option "Managed NUgets Packages for Solution" aus. Das öffnet ein Popup-Fenster, in dem Sie auf "Einstellungen" klicken. Daraufhin wird ein anderes Popup-Fenster geöffnet und dann gesucht: "Package Manager". 

  3. Innerhalb der Option "Package Manager" haben Sie zwei weitere Optionen (I. Allgemeines II. Paketquellen). Deaktivieren Sie in jeder Option alle Kontrollkästchen.

Mit diesen Schritten deaktivieren Sie NuGet aus Ihrem Projekt.

Ich hoffe dir wirklich helfen.

0
amedriveroperez

Lösung 1

Verwenden Sie die Powershell-Pipeline, um Pakete abzurufen und mit einer einzigen Anweisung wie dieser zu entfernen

Get-Package | Uninstall-Package

Lösung 2

wenn Sie ausgewählte Pakete deinstallieren möchten, befolgen Sie diese Schritte

  1. Verwenden Sie GetPackages, um die Liste der Pakete abzurufen 
  2. Laden Sie Flinke Text -Software herunter
  3. Kopieren Sie die Ausgabe von GetPackages in NimbleText (für jede Zeile im Listenfenster).
  4. Setzen Sie den Column Seperator bei Bedarf auf (
  5. Geben Sie Uninstall-Package $0 ein (ersetzen Sie das Musterfenster)
  6. Kopieren Sie die Ergebnisse und fügen Sie sie in die Package Manage Console ein.

Das sind alle Leute.

0
irfandar

Im Konsolenfenster von Package Manager kann häufig der Befehl zum Installieren eines Pakets zum Deinstallieren dieses Pakets verwendet werden. Ersetzen Sie einfach den BefehlINSTALLdurchUNINSTALL.

Zum Installieren von PowerTCPTelnet lautet der Befehl beispielsweise:

Install-Package PowerTCPTelnet -Version 4.4.9

Zum Deinstallieren lautet der Befehl:

Uninstall-Package PowerTCPTelnet -Version 4.4.9

0
Jazimov