Es gibt einen ähnlichen Beitrag auf dem Stapel, aber er hilft möglicherweise nicht bei meinem Problem, da ich Visual Studio 2015 verwende.
Wie kann die Option "NuGet-Paketwiederherstellung aktivieren" in VS2015 angezeigt werden?
Ich habe Datei> Neues Projekt gewählt und eine leere ASP.NET-Webanwendung erstellt . Ich suche diese Menüoption.
Ich sollte erwähnen, dass ich in meinem Projektordner nach bereits vorhandenen nuGet-Dateien gesucht habe und es keine gibt.
c#
asp.net
nuget
visual-studio-2015
nuget-package-restore
Dan Beaulieu
quelle
quelle
Antworten:
Es hat viel zu lange gedauert, aber ich habe endlich dieses Dokument über die Migration von MSBuild-integrierten Lösungen zur automatischen Paketwiederherstellung gefunden und konnte das Problem mit den hier beschriebenen Methoden beheben.
'.nuget'
Lösungsverzeichnis aus der Lösungnuget.targets
aus Ihren.csproj
oder.vbproj
Dateien. Obwohl das Dokument nicht offiziell unterstützt wird, wird es mit einem PowerShell-Skript verknüpft, wenn Sie viele Projekte haben, die bereinigt werden müssen. Ich habe meine manuell von Hand bearbeitet, sodass ich keine Rückmeldung zu meinen Erfahrungen damit geben kann.Wenn Sie Ihre Dateien von Hand bearbeiten, suchen Sie Folgendes:
Lösungsdatei (.sln)
Projektdatei (.csproj / .vbproj)
quelle
Microsoft hat die Unterstützung für die 'NuGet-Paketwiederherstellung aktivieren' in VS2015 eingestellt, und Sie müssen einige manuelle Änderungen vornehmen, um entweder alte Lösungen zu migrieren oder die Funktion neuen Lösungen hinzuzufügen. Die neue Funktion wird in NuGet Package Restore ziemlich gut beschrieben .
Hier finden Sie auch einen Migrationsleitfaden für vorhandene Projekte (wie bereits erwähnt): NuGet-Migrationsleitfaden
Beim Upgrade:
Beim Erstellen eines neuen Projekts:
Erstellen Sie eine Datei im Verzeichnis .nuget mit dem Namen nuget.config.
Fügen Sie die 'nuget.config' zu dem in Schritt 2 erstellten Lösungsverzeichnis hinzu.
Fügen Sie den folgenden Text in die Datei nuget.config ein:
<?xml version="1.0" encoding="utf-8"?> <configuration> <config> <add key="repositorypath" value="$\..\..\..\..\Packages" /> </config> <solution> <add key="disableSourceControlIntegration" value="true" /> </solution> </configuration>
Mit dieser Konfigurationsdatei können Sie alle Ihre Pakete an einem einzigen Ort konsolidieren, sodass Sie nicht 20 verschiedene Kopien desselben Pakets in Ihrem Dateisystem haben. Der relative Pfad ändert sich abhängig von Ihrer Lösungsverzeichnisarchitektur, sollte jedoch auf ein Verzeichnis verweisen, das allen Ihren Lösungen gemeinsam ist.
Sie müssen Visual Studio nach Schritt 5 neu starten. Nuget erkennt die Änderungen erst, wenn Sie dies tun.
Schließlich müssen Sie möglicherweise den 'Nuget Package Manager for Solutions' verwenden, um die Pakete zu deinstallieren und anschließend erneut zu installieren. Ich weiß nicht, ob dies ein Nebeneffekt des von mir ausgeführten Powershell-Skripts war oder nur eine Methode, um NuGet wieder in Gang zu bringen. Nachdem ich alle diese Schritte ausgeführt hatte, funktionierte meine komplizierte Build-Architektur einwandfrei, um neue Pakete herunterzufahren, wenn ich Projekte aus TFVC auscheckte.
quelle
Optional können Sie alle Ordner aus dem Ordner "Pakete" entfernen und "NuGet-Pakete für Lösung verwalten ..." auswählen. In diesem Fall wird unter NuGet Packages Windows die Schaltfläche "Wiederherstellen" angezeigt.
quelle
Wie bereits von Mike erwähnt, gibt es in VS2015 keine Option 'NuGet Package Restore aktivieren'. Sie müssen den Wiederherstellungsprozess manuell aufrufen. Eine gute Möglichkeit - ohne mit Dateien und Verzeichnissen herumzuspielen - ist die Verwendung der NuGet Package Management Console : Klicken Sie in das Feld "Schnellstart" (normalerweise in der oberen rechten Ecke), geben Sie ein
console
, öffnen Sie die Verwaltungskonsole und geben Sie den folgenden Befehl ein:Dadurch werden alle Pakete aller Projekte in Ihrer Lösung erneut installiert. Geben Sie Folgendes ein, um ein einzelnes Projekt anzugeben:
Dies ist natürlich nur erforderlich, wenn die
Restore
Schaltfläche - manchmal von VS2015 angeboten - nicht verfügbar ist. Weitere nützliche Aktualisierungsbefehle werden hier aufgelistet und erläutert: https://docs.microsoft.com/en-us/nuget/consume-packages/reinstalling-and-updating-packagesquelle
Wenn Sie Probleme haben oder Pakete vermissen, klicken Sie einfach mit der rechten Maustaste in Ihr Projekt und wählen Sie " NuGet-Pakete für Lösung verwalten ... ". Nachdem Sie darauf geklickt haben, wird ein Bildschirm geöffnet, in dem eine Menüleiste mit der Aufschrift "Wiederherstellen" angezeigt wird:
Klicken Sie darauf und die erforderlichen Pakete werden automatisch installiert.
Ich glaube, das ist es, wonach du suchst, das hat meine Probleme gelöst.
quelle
Verwenden Sie diesen Befehl, um alle Pakete wiederherzustellen
quelle
Beim Aktualisieren von Projekten mit Nuget-Paketen von Vx20XX auf VS2015 liegt möglicherweise ein Problem mit Nuget-Paketen vor.
Beispiel für eine Fehlermeldung: Dieses Projekt verweist auf NuGet-Pakete, die auf diesem Computer fehlen. Aktivieren Sie die NuGet-Paketwiederherstellung, um sie herunterzuladen.
Update 06.02.2016: Ich hatte einen Link zu den Informationen, aber es funktioniert nicht mehr. Ich vermute, dass ein neuer Weg das Problem gelöst hat ???
Ich habe mein Problem beim Schreiben eines kleinen Programms behoben, das eine MSBuild-integrierte Paketwiederherstellung im Vergleich zur automatischen Paketwiederherstellung ausführt
Sie können die ausführbare Datei des Tools hier herunterladen .
Bitte lassen Sie mich das Ergebnis wissen :-)!
Code als Referenz:
quelle
Gehen Sie zu Referenzen in Visual Studio und sehen Sie sich an, welche Pakete fehlen. Klicken Sie nun mit der rechten Maustaste auf Lösung in Visual und klicken Sie im Datei-Explorer auf Ordner öffnen. Öffnen Sie nun den Paketordner und löschen Sie den fehlenden Paketordner. Öffnen Sie Visual Studio und erstellen Sie einfach die Lösung. Alle fehlenden Pakete werden wiederhergestellt. Bitte markieren Sie dies als Antwort, wenn ich geholfen habe.
quelle
Ich nehme an, dass wir für das asp.net 4-Projekt auf die automatische Wiederherstellung umsteigen, sodass dies nicht erforderlich ist. Für ältere Projekte denke ich, dass ein bisschen Arbeit zum Konvertieren erforderlich ist.
http://docs.nuget.org/docs/workflows/migrating-to-automatic-package-restore
quelle
Dieser Ansatz hat bei mir funktioniert:
Sie haben jetzt die Wiederherstellung von Nuget-Paketen auch in VS2015 aktiviert .
quelle
Beim Versuch, ein Beispielprojekt gplus-quickstart-csharp-master zu erstellen, trat das gleiche Problem auf .
Ich habe mir die Fehlermeldung genau angesehen und eine Problemumgehung gefunden, um diesen Fehler zu beheben. Hoffentlich hilft dies.
Genießen !!
quelle
Die Lösung von Ivan Branets hat dies im Wesentlichen für mich behoben, aber einige weitere Details könnten geteilt werden.
In meinem Fall war ich in VS 2015 mit Auto Package Restore und TFS . Das ist alles ziemlich Standard.
Das Problem war, dass einige Pakete nicht vollständig wiederhergestellt wurden, als ein anderer Entwickler versuchte, eine Lösung von TFS zu erhalten. (Ich bin mir noch nicht ganz sicher.) Der Paketordner enthielt jedoch einen Ordner für die Referenz und das NuGet-Paket, wurde jedoch nicht erweitert (beispielsweise fehlte ein lib-Ordner mit einer DLL.) Diese Hälfte dort, aber nicht ganz richtig Konzept war die Verhinderung der Wiederherstellung des Pakets.
Sie erkennen dies daran, dass die Referenz ein gelbes Ausrufezeichen hat, wenn sie nicht aufgelöst wird.
Die Lösung zum Löschen des Ordners in Paketen beseitigt also das Problem der Blockierung der Paketwiederherstellung. Dann können Sie mit der rechten Maustaste auf die oberste Lösungsebene klicken , um die Option zum Wiederherstellen von Paketen zu erhalten . Jetzt sollte es funktionieren.
quelle
Schließen Sie VS. Löschen Sie alles im Paketordner. Öffnen Sie Ihre Lösung erneut. Klicken Sie mit der rechten Maustaste auf Ihr Projekt und wählen Sie "Nuget-Pakete verwalten ...". Oben im Fenster "Nuget Package Manager" wird ein gelber Balken angezeigt, in dem Sie aufgefordert werden, Pakete wiederherzustellen. Das hat bei mir funktioniert.
quelle
von https://docs.microsoft.com/en-us/nuget/quickstart/restore
quelle
Dies kann auch auf das Ausführen des Programms zurückzuführen sein, während Sie versuchen, das Paket zu installieren. Es ist ausgegraut, wenn Sie versuchen, darauf zu klicken, während der integrierte IIS im Hintergrund ausgeführt wird.
quelle
Falls jemand anderes dieses Problem in Visual Studio 2017 findet, stellen Sie sicher, dass das Projekt über die SLN-Datei und nicht über den Ordner geöffnet wird, da Visual Studio die Einstellungen nicht übernimmt, wenn es nach Ordner geöffnet wird. Dies geschieht standardmäßig, wenn Sie Visual Studio-Onlinedienste für Git verwenden.
quelle
Führen Sie für .NET Core-Projekte aus
dotnet restore
oderdotnet build
befehlen Sie inNuGet Package Manager Console
(wodurch die Wiederherstellung automatisch ausgeführt wird).Sie können die Konsole von ausführen
quelle
Ich habe benutzt
msbuild /t:restore
.Kredit und Quelle:
Mein Problem war mit MSBuild. Also folgte ich dem Link von @Vinney Kelly : Migration von MSBuild-integrierten Lösungen zur automatischen Paketwiederherstellung
und...
Das hat funktioniert wie ein Charme =]
quelle
Wenn alles andere fehlschlägt (oder vielleicht vorher), möchten Sie möglicherweise überprüfen, ob NuGet eine Paketquelle ist. Ich habe VS2017 installiert und es war standardmäßig NICHT da. Ich fand es irgendwie seltsam.
quelle
Ich musste die Paketordnerlösung entfernen und erneut öffnen (VS2015). Ich habe nicht migriert und keine Pakete in die Quellcodeverwaltung eingecheckt. Alles was ich sagen kann ist, dass etwas durcheinander gebracht wurde und dies das Problem behoben hat.
quelle
Hat mir durch Tools geholfen >>> Nuget Package Manager >>> Allgemein, dann aktivieren Sie die Option Nuget erlauben, fehlende Pakete herunterzuladen und beim Erstellen in Visual Studio automatisch nach fehlenden Paketen zu suchen .
quelle
Ich stehe vor dem gleichen Problem. Ich versuche, ein MVC-Projekt, das in Visual Studio 2015 erstellt wurde, zu einer Lösung hinzuzufügen, die ich in Visual Studio 2019 erstellt habe.
In Visual Studio 2019 sind bereits Projekte vorhanden. Wenn Sie also dieses vorhandene Projekt hinzufügen, das ich in VS 2015 erstellt habe, wird derselbe Fehler ausgelöst. Ich habe alle Antworten hier ausprobiert, aber das Problem wird dadurch nicht behoben.
Ich habe nur den Ordner .nuget in den Lösungsordner gelegt. Ursprünglich lautet die Hierarchie des Ordners wie folgt:
Das Problem wurde behoben, als ich den .nuget-Ordner in den Lösungsordner selbst verschob:
quelle
VS 2019 Version 16.4.4 Lösungsziel für .NET Core 3.1
Nachdem ich fast alle hier vorgeschlagenen Lösungen ausprobiert hatte, schloss ich VS. Als ich es wieder öffnete, war nach einigen Sekunden alles wieder in Ordnung ...
quelle
Noch einfacher ist es, wenn Sie Ihrer Lösung einen .nuget-Ordner hinzufügen. Daraufhin wird "Nuget-Pakete wiederherstellen" angezeigt (nicht sicher, ob nuget.exe vorhanden sein muss, damit es funktioniert).
quelle