Antworten:
Menü Extras → Optionen → Paketmanager
Geben Sie einen Namen und einen Ordner an. OK klicken. Legen Sie Ihre NuGet-Paketdateien in diesem Ordner ab.
Gehen Sie zu Ihrem Projekt, klicken Sie mit der rechten Maustaste und wählen Sie "NuGet-Pakete verwalten" und wählen Sie Ihre neue Paketquelle aus.
Hier ist die Dokumentation .
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:
Install-Package SomePackage -Source C:\PathToThePackageDir\
-Source
Option ist auch in nuget.exe verfügbar . Zum Beispiel:nuget install SomePackage -Source C:\PathToThePackageDir
Für .nupkg-Dateien verwende ich gerne:
Install-Package C:\Path\To\Some\File.nupkg
.nupkg
unter das gleiche Verzeichnis gestellt, in dem alle anderen Pakete gespeichert waren)
Sie können Install-Package nicht mehr nur verwenden, um auf eine lokale Datei zu verweisen. (Das liegt wahrscheinlich daran, dass diePackageReference
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.
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:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="MyLocalSharedSource" value="..\..\..\some\folder" />
</packageSources>
</configuration>
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.
-Source
Argument an übergeben Update-Package
und es hat gut funktioniert. Vielleicht etwas speziell mit dem Install-Package
Befehl zu tun ?
Erstellen Sie neben Ihrer Lösungsdatei eine Datei mit dem Namen NuGet.config mit den folgenden Inhalten
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="LocalPackages" value="./LocalPackages" />
</packageSources>
<activePackageSource>
<!-- this tells that all of them are active -->
<add key="All" value="(Aggregate source)" />
</activePackageSource>
</configuration>
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
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.
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:
Unter Linux mit NuGet CLI sind die Befehle ähnlich. Führen Sie zum Installieren von my.nupkg aus
nuget add -Source some/directory my.nupkg
Führen Sie dann dotnet restore
aus diesem Verzeichnis
dotnet restore --source some/directory Project.sln
oder fügen Sie dieses Verzeichnis als NuGet-Quelle hinzu
nuget sources Add -Name MySource -Source some/directory
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.