Ich habe einige .nupkg-Dateien aus einem C # -Buch. Wie kann ich sie installieren?
visual-studio
nuget
Tom
quelle
quelle
Sie können auch die verwenden Package Manager-Konsole verwenden und das
Install-Package
Cmdlet aufrufen, indem Sie den Pfad zu dem Verzeichnis angeben, in dem sich die Paketdatei befindet-Source
Parameter enthält:quelle
-Source
Option ist auch in nuget.exe verfügbar . Zum Beispiel:nuget install SomePackage -Source C:\PathToThePackageDir
Für .nupkg-Dateien verwende ich gerne:
quelle
.nupkg
unter das gleiche Verzeichnis gestellt, in dem alle anderen Pakete gespeichert waren)Für Visual Studio 2017 und sein neues .csproj-Format
Sie können Install-Package nicht mehr nur verwenden, um auf eine lokale Datei zu verweisen. (Das liegt wahrscheinlich daran, dass die
PackageReference
Element keine Dateipfade unterstützt. Sie können nur die ID des Pakets angeben.)Sie müssen Visual Studio zuerst den Speicherort Ihres Pakets mitteilen und können es dann einem Projekt hinzufügen. Die meisten Benutzer rufen den NuGet Package Manager auf und fügen den lokalen Ordner als Quelle hinzu (Menü Extras → Optionen → NuGet Package Manager → Paketquellen ). Dies bedeutet jedoch, dass der Speicherort Ihrer Abhängigkeit nicht an die Versionskontrolle mit dem Rest Ihrer Codebasis gebunden ist.
Lokale NuGet-Pakete unter Verwendung eines relativen Pfads
Dadurch wird eine Paketquelle hinzugefügt, die nur für eine bestimmte Lösung gilt, und Sie können relative Pfade verwenden.
Sie müssen eine
nuget.config
Datei im selben Verzeichnis wie Ihre erstellen.sln
Datei erstellen. Konfigurieren Sie die Datei mit den gewünschten Paketquellen. Wenn Sie die Lösung das nächste Mal in Visual Studio 2017 öffnen, sind alle .nupkg-Dateien aus diesen Quellordnern verfügbar. (Die im Paket-Manager aufgeführten Quellen werden angezeigt, und Sie finden die Pakete auf der Registerkarte "Durchsuchen", wenn Sie Pakete für ein Projekt verwalten.)Hier ist ein Beispiel
nuget.config
, um Ihnen den Einstieg zu erleichtern:Hintergrundgeschichte
Mein Anwendungsfall für diese Funktionalität ist, dass ich mehrere Instanzen eines einzelnen Code-Repositorys auf meinem Computer habe. In der Codebasis befindet sich eine gemeinsam genutzte Bibliothek, die als .nupkg-Datei veröffentlicht / bereitgestellt wird. Dieser Ansatz ermöglicht es den verschiedenen abhängigen Lösungen in unserer Codebasis, das Paket innerhalb derselben Repository-Instanz zu verwenden. Außerdem kann jemand mit einer Neuinstallation von Visual Studio 2017 den Code einfach auschecken, wo immer er möchte, und die abhängigen Lösungen werden erfolgreich wiederhergestellt und erstellt.
quelle
-Source
Argument an übergebenUpdate-Package
und es hat gut funktioniert. Vielleicht etwas speziell mit demInstall-Package
Befehl zu tun ?Erstellen Sie neben Ihrer Lösungsdatei eine Datei mit dem Namen NuGet.config mit den folgenden Inhalten
Wenn die Lösung in Visual Studio geöffnet ist, schließen Sie sie und öffnen Sie sie erneut.
Jetzt sollten Ihre Pakete im Browser angezeigt werden oder mit Install-Package installiert werden können
quelle
Wenn Sie eine .nupkg-Datei haben und nur die .dll-Datei benötigen, müssen Sie nur die Erweiterung in .zip ändern und das lib-Verzeichnis suchen.
quelle
Nur um ein Update zu geben, gibt es geringfügige Änderungen für Visual Studio 2015-Benutzer.
So verwenden oder Paket manuell zu installieren, gehen Sie zu Extras -> Optionen -> NuGet Package Manager -> Paketquellen
Klicken Sie auf die Schaltfläche Hinzufügen, wählen Sie die Quelle aus und vergessen Sie nicht, auf " Aktualisieren " zu klicken, da dadurch der Ordner für Ihre Pakete aktualisiert wird. Bearbeiten Sie den gewünschten Namen Ihrer Paketquelle, wenn Sie möchten:
Um Ihr hinzugefügtes Paket auszuwählen, klicken Sie mit der rechten Maustaste auf Ihre Lösung und wählen Sie " Nuget-Pakete verwalten ".
Die Dropdown-Liste befindet sich rechts und wählen Sie Durchsuchen, um Ihre Pakete zu durchsuchen, die Sie in Ihrer Ordnerquelle angegeben haben. Wenn sich in dieser Ordnerquelle kein Nuget-Paket befindet, ist dieses leer:
quelle
Unter Linux mit NuGet CLI sind die Befehle ähnlich. Führen Sie zum Installieren von my.nupkg aus
Führen Sie dann
dotnet restore
aus diesem Verzeichnisoder fügen Sie dieses Verzeichnis als NuGet-Quelle hinzu
und dann sagen
msbuild
, dass Sie dieses Verzeichnis mit/p:RestoreAdditionalSources=MySource
oder verwenden sollen/p:RestoreSources=MySource
. Der zweite Schalter deaktiviert alle anderen Quellen, was beispielsweise für Offline-Szenarien gut ist.quelle
nuget sources
ob Siedotnet restore
(oder VS Mac ) verwenden . Ich musste die lokale Quelle manuell hinzufügen (siehe dieses GH- Problem ).~/.nuget/NuGet/NuGet.Config