Wir verlagern unsere Paketverwaltung von der manuellen Aktualisierung von Dateien auf NuGet. Ich versuche, ältere Versionen von Paketen so zu installieren, dass sie mit denen übereinstimmen, die wir bereits in der Quellcodeverwaltung haben. Es gibt keine Möglichkeit, dies über die Benutzeroberfläche zu tun, daher verwende ich die Befehlszeile, um die richtige Version zu erhalten.
Aus irgendeinem Grund Install-Package
sagt er mir immer wieder, dass die Nuget-Galerie nicht erreichbar ist.
Die Quelle unter nuget.org [ https://www.nuget.org/api/v2/] ist nicht erreichbar. Zurückgreifen auf den lokalen NuGet-Cache
Dies geschieht nur in einer unserer Lösungen. Wenn ich eine neue Lösung erstelle oder eine andere im selben Repository verwende, werden die Pakete wie erwartet installiert. Ich kann die Pakete sogar in einer Dummy-Lösung installieren, um den lokalen Cache zu füllen, und sie dann erfolgreich in der fehlerhaften Lösung installieren. Ich habe versucht, Invoke-WebRequest
auf die URL von der NuGet-Konsole zuzugreifen, und ich erhalte ein HTTP 200.
Was kann das verursachen? Gibt es eine Möglichkeit, die Paketquellen pro Lösung / Projekt zu überschreiben?
quelle
Antworten:
Auch wenn meine Paketquelle zu nuget.org in Package Manager - Konsole festgelegt wurde, explizit das Hinzufügen
-Source nuget.org
Argument für mich festgelegt.Ein Anwendungsbeispiel wäre also:
Install-Package Akka.net -Source nuget.org
Da Akka.net Ihr Paket ist, das Sie installieren möchten, ist es hier nur ein Beispiel.
quelle
Install-Package jQuery.UI.Combined -Source nuget.org
-Source nuget.org
und es funktioniert?Ich musste die Standard-NuGet-Quelle in die Optionen von Visual Studio kopieren. Mit der kopierten Quelle habe ich die URL von
https
auf geänderthttp
. Dies löste das Problem für mich.Die Gutschrift für diesen Vorschlag gehört hier: https://nuget.codeplex.com/discussions/561075#PostDetailsCell_1354351 , zu "jpharris4".
quelle
Ich bin nicht sicher, was Ihr Problem verursachen kann, aber es gibt tatsächlich eine Möglichkeit, Paketquellen auf Lösungsbasis zu überschreiben, aber nur, wenn Sie NuGet Package Restore für die angegebene Lösung aktiviert haben .
Sobald eine Lösung NuGet Package Restore aktiviert hat, wird der Lösung ein Ordner mit dem Namen ".nuget" hinzugefügt. Darunter befindet sich eine Datei mit dem Namen "NuGet.targets" mit einer ItemGroup, deren Bedingung "'$ (PackageSources)' == ''" ist, wie Sie sie im angehängten Bild sehen.
Wenn die ItemGroup leer ist (oder wie in der Abbildung vollständig auskommentiert ist), verwendet die Lösung eine bestimmte Datei, die mit den unter TOOLS >> OPTIONS aufgeführten Quellen übereinstimmen sollte. Wenn Sie jedoch PackageSource-Elemente auskommentieren oder zu dieser ItemGroup hinzufügen, durchsucht die Lösung die aufgelisteten Paketquellen und NUR die aufgelisteten.
quelle
Sie können die NuGet-Quelle auch über die Benutzeroberfläche ändern. Ändern Sie einfach die NuGet-Quelle auf eine ältere Version und es sollte gut funktionieren.
In VS 2015 scheint es immer noch wenige Fehler im Zusammenhang mit api.nuget.org (v3) zu geben.
quelle
In meiner Package Manager-Konsole konnte ich keine Quellen sehen
Gehen Sie zu: Extras -> Optionen -> Nuget Package Manager -> Paketquellen
Ich habe die Quellen gefunden. Wenn Sie sie deaktivieren und erneut überprüfen, wird sie erneut in meiner Package Manager-Konsole angezeigt
quelle
Ich musste das Komman zusammen mit der vollständigen URL als angeben
Install-Package MySql.Data.Entity -Version 6.9.8 -Source http://www.nuget.org/api/v2
quelle
In meinem Fall war die Ursache, dass das Paket eine Vereinbarung hatte. Über das Dialogfeld "Benutzeroberfläche - NuGet-Pakete verwalten" haben Sie die Möglichkeit, zu akzeptieren und fortzufahren.
Die Package Manager-Konsole in VS 2013 scheint ein Problem damit zu haben. Wie andere bereits gesagt haben, kann ein Neustart von VS 2013 das Problem für die Konsole beheben.
quelle
Dies funktioniert für mich in VS 2015 prof: Tools -> Optionen -> Nuget Package Manager -> Paketquellen
Ich hoffe es hilft ;)
quelle
Ich hatte das gleiche Problem mit der gleichen Nachricht. Der Grund für mein Problem war jedoch, dass die Verbindung zu TFS unterbrochen wurde. Mein TFS-Server wurde in einem anderen Netzwerk gehostet und ich habe VPN für den Zugriff darauf verwendet. Als ich versuchte, das Paket ohne hergestellte Verbindung zu TFS zu installieren (VPN wurde deaktiviert), trat das gleiche Problem auf.
Beachten Sie dieses TFS-Verhalten.
quelle
Geschieht, weil Sie im Offline-Modus arbeiten. Wenn Sie das Netzwerk erneut verbinden, müssen Sie sich abmelden und wieder abmelden. Der Paketmanager wird problemlos neu initialisiert.
quelle
Ich habe dieses Problem VS2013 konfrontiert und 3 Stunden Zeit verschwendet.
Nicht sicher, was die Ursache des Problems war. Aber keine der oben genannten Lösungen hat bei mir funktioniert.
Die Neuinstallation der Nuget Package Manager-Konsole hat bei mir funktioniert.
Extras -> Erweiterungen und Updates -> Unter Alles Suchen Sie nach Nuget Package Manager für Visual Studio und klicken Sie auf Deinstallieren.
Gehen Sie zu https://marketplace.visualstudio.com/items?itemName=NuGetTeam.NuGetPackageManagerforVisualStudio2013 und laden Sie die Erweiterung herunter.
quelle
Geben Sie hier die Bildbeschreibung ein. Möglicherweise blockiert Ihre Büro- / Heim-Firewall nuget.org. Versuchen Sie daher, eine Verbindung zu einem anderen Internet-Netzwerk herzustellen, z. B. von Ihrem Handy oder WLAN. Ich konnte diese Methode lösen.
quelle