430 Stimmen

Dieses Projekt verweist auf NuGet-Paket(e), die auf diesem Computer fehlen.

Ich habe eine ASP.NET MVC5-Anwendung, die gestern funktioniert hat und jetzt diesen Fehler bekomme, wenn ich versuche zu bauen:

Dieses Projekt verweist auf NuGet-Paket(e), die auf diesem Computer fehlen.

Ich habe die beiden Optionen angekreuzt, die es NuGet erlauben, fehlende Pakete automatisch herunterzuladen und zu installieren. Ich habe auch versucht, alle Dateien im Packages-Ordner zu löschen und dann NuGet sie neu herunterladen zu lassen. Auch wenn ich NuGet öffne und nach Updates suche, sagt es, dass keine installiert werden müssen. Ich kann nicht herausfinden, was ich sonst noch tun soll, um dieses erstaunlich nervige Problem zu lösen.

Ich habe auch das NuGet-Wiederherstellen aktiviert, indem ich mit der rechten Maustaste auf das Projekt klicke und diese Option auswähle. Es hat dann einen NuGet-Ordner und drei Elemente in diesem Ordner hinzugefügt und tut nichts, um das Problem zu lösen. Ich habe versucht, erneut zu bauen und erhalte immer noch den gleichen Fehler.

18voto

Willy David Jr Punkte 7717

Ich habe das gleiche Problem. Ich bin darauf gestoßen, als ich ein vorhandenes Projekt kopiert und in den Ordner meines Lösungsverzeichnisses übertragen und es als vorhandenes Projekt zu meiner leeren Lösung hinzugefügt habe. Also muss ich meine csproj-Datei bearbeiten und nach dieser spezifischen Codezeile suchen, die sich meistens am Ende befindet:

Nach dieser Zeile muss ich diese Zeilen auskommentieren:

      Dieses Projekt verweist auf NuGet-Pakete, die auf diesem Computer fehlen. Verwenden Sie NuGet Package Restore, um sie herunterzuladen. Weitere Informationen finden Sie unter http://go.microsoft.com/fwlink/?LinkID=322105. Die fehlende Datei ist {0}.

Ihre Lösung wird anzeigen, dass es eine Änderung an Ihrem Projekt gab, wählen Sie einfach "Alle neu laden":

Bildbeschreibung hier eingeben Danach funktioniert alles wieder einwandfrei, nachdem ich meine Lösung neu erstellt habe.

13voto

Ramin Bateni Punkte 15165

Wenn Sie TFS verwenden

Entfernen Sie die Dateien NuGet.exe und NuGet.targets aus dem .nuget-Ordner der Lösung. Stellen Sie sicher, dass die Dateien selbst auch aus dem Lösungs-Workspace entfernt werden. Behalten Sie die Datei NuGet.Config bei, um weiterhin das Hinzufügen von Paketen zur Quellcodeverwaltung zu umgehen.

Bearbeiten Sie jede Projektdatei (z.B. .csproj, .vbproj) in der Lösung und entfernen Sie alle Verweise auf die Datei NuGet.targets. Öffnen Sie die Projektdatei(en) im Editor Ihrer Wahl und entfernen Sie die folgenden Einstellungen:

true
...

...

        Dieses Projekt verweist auf NuGet-Paket(e), die auf diesem Computer fehlen. Aktivieren Sie die NuGet-Paketwiederherstellung, um sie herunterzuladen. Weitere Informationen finden Sie unter http://go.microsoft.com/fwlink/?LinkID=322105. Die fehlende Datei ist {0}.

Wenn Sie TFS nicht verwenden

Entfernen Sie den Ordner .nuget aus Ihrer Lösung. Stellen Sie sicher, dass der Ordner selbst auch aus dem Lösungs-Workspace entfernt wird.

Bearbeiten Sie jede Projektdatei (z.B. .csproj, .vbproj) in der Lösung und entfernen Sie alle Verweise auf die Datei NuGet.targets. Öffnen Sie die Projektdatei(en) im Editor Ihrer Wahl und entfernen Sie die folgenden Einstellungen:

true
...

...

        Dieses Projekt verweist auf NuGet-Paket(e), die auf diesem Computer fehlen. Aktivieren Sie die NuGet-Paketwiederherstellung, um sie herunterzuladen. Weitere Informationen finden Sie unter http://go.microsoft.com/fwlink/?LinkID=322105. Die fehlende Datei ist {0}.

Referenz: Migration von MSBuild-integrierten Lösungen zur Verwendung der automatischen Paketwiederherstellung

11voto

Amila Thennakoon Punkte 390

Die folgenden Zeilen wurden aus der .csproj-Datei entfernt

 Dieses Projekt verweist auf NuGet-Pakete, die auf diesem Computer fehlen. 
 Aktivieren Sie die NuGet-Paketwiederherstellung, um sie herunterzuladen.  Weitere Informationen finden Sie unter 
 http://go.microsoft.com/fwlink/?LinkID=322105. Die fehlende Datei lautet {0}.

9voto

infojolt Punkte 5014

Ist es möglich, dass die Pakete in den falschen Ordner wiederhergestellt wurden? Überprüfen Sie, ob die Pfade in den csproj-Dateien korrekt sind.

Wenn sie unterschiedlich sind, könnte dies daran liegen, dass die Pakete nun an einem anderen Ort wiederhergestellt wurden. Dies könnte durch eine NuGet.Config-Datei verursacht werden, die einen Knoten wie diesen angibt:

Die Pakete werden wiederhergestellt, aber die Projekte suchen immer noch am alten Speicherort.

8voto

mheyman Punkte 3906

Ich hatte das gleiche Problem. In meinem Fall hat die Installation des Microsoft.Bcl.Build Pakets das Problem behoben.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X