2015-01-24 4 views
50

Wie aktiviere ich die Nuget-Paketwiederherstellung in Visual Studio 2015?Wie aktiviert man die Wiederherstellung von Nugets-Paketen in Visual Studio 2015?

Das Feature in meinem Kontextmenü nur fehlt (Ja - ich habe doppelt geprüft, dass ich es auf die Lösung anstelle eines Projekts versuchen)

Mein einziges Projekt ist eine .NET 4.5-Konsole-Anwendung - es ist noch kein .nugget-Ordner. Es ist ein aktuelles nugget-Paket installiert.

+3

Mögliches Duplikat von [Wie aktiviere ich die NuGet-Paketwiederherstellung in Visual Studio 2015] (http://stackoverflow.com/questions/27895504/how-doi-i-enable-nuget-package-restore-in-visual- studio-2015) –

Antwort

5

Für andere sind diese Option in dem Nuget Abschnitt Einstellung in Visual Studio Optionen verfügbar

enter image description here

+1

Ich hatte dieses Problem vor kurzem in 2015 und schaute auf meine Optionen/Pakete Quellen und aus irgendeinem Grund nugget wurde nicht als verfügbare Paketquelle überprüft ich klickte darauf und es fing an zu arbeiten – Ismail

+0

Könnten Sie mir bitte sagen, wie Paket Cache-Taste kommt unter nugget Paketmanager in vs –

53

ich das gleiche Problem wie Sie hatte und die Art, wie ich es gelöst war die packages Ordner aus meiner Lösung löschen und auch bin und obj Ordner von jedem Projekt in der Lösung und geben Sie eine Neuerstellung.

+2

Dude danke! Ich bin überall im Internet herumgekrochen und das war die wirkliche Lösung, nachdem ich viele Ziegelsteinwände getroffen habe. – scniro

+0

Dies ist die genaueste Antwort und hat das gleiche Problem für mich behoben. Ich habe alles versucht, überall gesucht, aber nichts hat funktioniert. Ich musste den Befehl "update-package -reinstall" mehrmals ausführen, ohne dass meine packages.config bearbeitet werden musste und das war so viel Schmerz! –

+3

HINWEIS! Lesen Sie stattdessen die Antwort von BinaryTox unten! –

0

Ich hatte ein Problem mit dem Zugriff auf den Paketordner nach dem Starten von Visual Studio 2015 im Administratormodus, also löschte ich es mit der Absicht, eine Wiederherstellung durchzuführen.

Beim Wiederherstellen der Lösung wurde jedoch keine Wiederherstellung durchgeführt, und es wurden keine Wiederherstellungspakete auf der Lösungsebene oder im Nuget-Fenster gefunden.

Wenn Sie jedoch einen Rechtsklick die Referenzen Knoten über die Projekte in der Lösung gibt es eine Pakete Option Wiederherstellen. Das auf allen Projekten laufen zu lassen, hat es für mich behoben.

35

Wie sich herausstellt, ist die echte Lösung migrate to Automatic Package Restore. Wir haben Probleme mit NuGet nach dem Upgrade auf VS 2015 nach einer Arbeit in 2013 für eine Weile erfahren. Es stellt sich heraus, dass die alte Art, NuGet zu machen, die neue Art, es zu tun, völlig verschlingt.

Die Lösung ist einfach, obwohl langweilig. Offenbar signalisiert die NuGet.targets-Datei VS, die alte NuGet-Methode zu verwenden, und Abwesenheit bedeutet, dass Sie jetzt "Automatic Package Restore" verwenden.

  1. löschen .nuget/NuGet.exe
  2. löschen .nuget/NuGet.targets
  3. Für jedes Projekt:
    1. Unload das Projekt Sie können mit den folgenden Schritten wiederherstellen Automatische Paket migrieren
    2. Rechtsklick -> bearbeiten Sie das Projekt
    3. löschen Sie alle Verweise auf die NuGet.targets Datei, also die folgende:
<RestorePackages>true</RestorePackages> 
... 
<Import Project="$(SolutionDir)\.nuget\nuget.targets" /> 
... 
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> 
    <PropertyGroup> 
     <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> 
    </PropertyGroup> 
    <Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" /> 
</Target> 

Es gibt auch ein Powershell-Skript, das die Migration für Sie durchführen, wenn Sie fett fühlen. Sie finden es unter github.

+2

Es ist einfacher, die Projektdateien in einem externen Editor zu bearbeiten. VS erkennt, dass die Datei beim Speichern geändert wird. –

+0

Sie müssen auch sicherstellen, dass Sie keines der Pakete unbeabsichtigt zur Quellen-/Versionskontrolle verpflichtet haben. Quellcodeverwaltungssysteme ignorieren normalerweise die DLLs, binden die '.nupkg'-Dateien jedoch an das Quell-Repository. An diesem Punkt wird NuGet denken, dass nichts wiederhergestellt werden kann, ** aber ** Ihre Builds können fehlschlagen. Siehe [meine Antwort auf eine verwandte Frage] (http://stackoverflow.com/questions/6876732/how-do-i-get-nuget-to-install-update-all-the-packages-in-the-packages- config/23254566 # 23254566). – David

+0

Und (wie ich es verstehe) wird NuGet selbst die Pakete so kennzeichnen, dass sie zur Quellcodeverwaltung hinzugefügt werden müssen. Wahrscheinlich möchten Sie dieses Verhalten deaktivieren, wie in den [NuGet-Dokumenten] (http://docs.nuget.org/consume/package-restore) beschrieben. – David

2

Ich hatte ein Problem mit der Wiederherstellung des Pakets mit Fehler 401 nicht autorisiert. Ich habe die Lösung gefunden, indem ich die verfügbaren lokalen Paketquellen deaktiviert habe. Debug> Optionen> NuGet Package Manager> Paketquellen

Nur nuget.org Pakete

2

My Visual Studio 2015 Professional installiert wurde erlauben, die Standardeinstellungen. Die Optionen "Erlaube NuGet fehlende Pakete herunterladen" und "Automatisch nach fehlenden Paketen während des Builds in Visual Studio suchen" waren bereits standardmäßig aktiviert, aber ich konnte die Pakete immer noch nicht herunterladen. Ich habe einen Fehler bekommen, dass eine Paketversion nicht gefunden wurde.

Ich musste auf ein Kontrollkästchen unter Extras> Optionen> NuGet Package Manager> Paketquellen klicken, damit NuGet Package Restore wie erwartet funktioniert.

enter image description here

0

enter image description here

Nun, es mit VS2015 ist ziemlich einfach, alles, was ich tun musste, war auf meiner Projektlösung nach rechts klicken und klicken Sie auf nuget wiederherstellen.

Verwandte Themen