wake-up-neo.com

Nuget-Paket ... existiert nicht in Projekt ... Paket ... existiert bereits im Ordner

Ich habe mehrere Stunden mit diesem Fehler gekämpft und kann keine funktionierende Lösung finden.

Ich habe eine ASP.Net-API in einer Multiprojektlösung, deren Referenzen/Abhängigkeiten nicht ordnungsgemäß konfiguriert sind, und ich habe versucht, sie seit zwei Tagen zu beheben.

Das Problem ist (ich glaube), dass der API System.Web.Http/System.Web.Http.WebHost fehlt, das anscheinend in Microsoft.AspNet.WebApi.Core enthalten ist (für mehrere andere Stack Overflow-Fragen). Beim Versuch, es über Nuget zu installieren, erhalte ich die folgende Fehlermeldung, wenn ich versuche, die Abhängigkeit aufzulösen. Außerdem habe ich diesen Fehler jedes Mal erhalten (siehe meine Fehlerbehebung später in dieser Frage):

 Screenshot of Package Manager Console

Ich habe die folgenden Schritte in keiner bestimmten Reihenfolge ausgeführt (mehrmals jeweils in verschiedenen Kombinationen):

  • Führen Sie 'Update-Paket Microsoft.AspNet.WebApi.Core -reinstall' aus.
  • Löschen Sie den lösungsweiten Ordner "Packages", löschen Sie die Packages.config des Projekts und versuchen Sie, Pakete wiederherzustellen
  • Löschen Sie das gesamte Projekt vom physischen Laufwerk und TFS und erstellen Sie es von Grund auf neu (es wird mit den falschen Referenzen erstellt).
  • Installieren Sie das Paket über die Befehlszeile und die Nuget-Benutzeroberfläche
  • Überprüfen Sie die Lösung an verschiedenen Orten auf meiner Festplatte, um so frisch wie möglich zu starten
  • Computer neu starten/Visual Studio neu starten

An diesem Punkt bin ich in Ordnung mit einem nicht sauberen Fix, solange er es behebt. Die API hat an einem Punkt funktioniert, aber dann habe ich sie in TFS eingecheckt, eine Zweigstelle erstellt und arbeite jetzt an der Zweigstelle. Möglicherweise waren einige Abhängigkeiten nicht enthalten (?), Aber selbst wenn dies der Fall war, scheinen die von mir unternommenen Schritte das Problem zu lösen.

18
Nex Terren

Schließen Sie die Lösung, wechseln Sie in den Paketordner auf Ihrer Festplatte und löschen Sie den gesamten Inhalt. Öffnen Sie Ihre Anwendung erneut in Visual Studio, und es wird automatisch versucht, die Pakete wiederherzustellen. Reinigen Sie die Lösung und bauen Sie sie auf.

Das Löschen des Cache löste das Problem für mich. Es gibt eine Option zum Löschen des Caches im Menü Tools> Optionen> NuGet Package Manager> General mit der Bezeichnung Alle NuGet-Cache (s) löschen.

Versuchen Sie das .. Es hat mein Problem gelöst .. Ich habe alles ohne Erfolg versucht.

Gehen Sie zu VS TOOLS> NuGet Pacakage Manager> Package Manager-Einstellungen 

Klicken Sie auf die Schaltfläche "Alle NuGet-Cache (s) löschen".

2
Newbie

Deinstallieren Sie zunächst das spezifische NuGet-Paket über die Paket-Manager-Konsole

Dann entladen Sie bitte das Projekt, für das dieses Nugget-Paket verwendet wurde, mit der rechten Maustaste -> Projekt entladen.

Klicken Sie nach dem Entladen mit der rechten Maustaste in das Projekt und wählen Sie "Bearbeiten {Projektname} .csproj"

Suchen Sie den NuGet-Paketeintrag in der zuvor deinstallierten XML-Datei und löschen Sie ihn.

Installieren Sie das Paket erneut von der Paket-Manager-Konsole ...

1
Antho

Keine der anderen Antworten funktionierte für mich. Es dauerte in einer endlosen Schleife von Installation, Wiederherstellen, Neustarten von VS und machte nie Fortschritte. 

Was ich am Ende tun musste, war:

  1. Schließen Sie VS.
  2. Löschen Sie die fehlerhaften Pakete aus dem Paketordner.
  3. Bearbeiten Sie die Datei packages.config manuell und fügen Sie die Paketnamen und -versionen hinzu, die installiert werden müssen. 
  4. Als ich die Lösung wieder öffnete, habe ich mit der rechten Maustaste auf das Projekt geklickt und "NuGet-Pakete verwalten" sowie "Wiederherstellen" auf dem Banner angeklickt. Dadurch wurden die Pakete installiert, die die Installation verweigerten.

Für laut schreien! Microsoft muss aus garne lernen, wie die Paketverwaltung ordnungsgemäß ausgeführt wird.

0
NH.