wie alle nuget-Abhängigkeiten für die offline-installation
Ich zwei Rechner, einer mit internet-Anschluss und das andere ohne.
Ich installieren möchten, um ein Nuget-Paket (Nuget.server) mit all seinen Abhängigkeiten auf dem offline-Rechner.
Leider ist es nicht möglich einfach das Paket herunterladen selbst und ich lade alle Abhängigkeiten manuell und es gibt Dutzende von Ihnen.
Wie kann ich ein Paket erstellen, auf dem computer mit internet-Verbindung, enthält, alle Abhängigkeiten?
Dank.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Auf dem computer mit internet-Zugang die NuGet-Pakete (.nupkg) sollte in der lokalen Rechner-cache. Auf Windows ist dies in dem Verzeichnis ähnlich:
So sollten Sie in der Lage sein, zu kopieren .nupkg Dateien von dort auf den computer ohne internet-Zugang. Ich würde erstellen Sie ein Verzeichnis auf diesem computer, und das setup eine neue Paket-Quelle verweist auf das Verzeichnis. Alternativ können Sie auch kopieren .nupkg Dateien auf dem lokalen Rechner Zwischenspeichern, nur bewusst sein, es gibt ein limit von 200 NuGet-Paketen im cache. Dann können Sie eine Paket-Quelle Hinweis auf den cache.
Ich ging gerade durch den Schmerz und wollte eine Lösung finden, nur mit Hilfe der NuGet-CLI. Stellt sich heraus, es ist ziemlich einfach, wirklich:
Der Schlüssel ist die
-OutputDirectory
Schalter, der macht das CLI installiert das angegebene Paket in ein Verzeichnis, dass nicht über eine Projekt-Datei. Dieser Befehl laden Sie das Paket und alle seine Abhängigkeiten in das Ausgabe-Verzeichnis, die mit jedem Paket legen Sie in eine separate sub-Ordner. Sie können dann greifen alle.nupkg
aus dem Ausgabe-Verzeichnis und tun, was Sie brauchen, um mit Ihnen zu tun.Update: Als Igand Punkte in die Kommentare, die
-OutputDirectory
wechseln ist eigentlich nicht erforderlich. Wenn weggelassen nuget.exe wird laden Sie einfach in den aktuellen Ordner. Immer noch am besten, es nicht herunterladen in einen Ordner mit einem Projekt-Datei (es sei denn, dass ist, was Sie nach).-OutputDirectory
ist nicht erforderlich. Ich glaube, ich muss verwirrt mich, wenn ich war auf der Suche nach einer Lösung, und müssen gemischt mit einem anderen Problem. In anycase, da brauchte ich zum hochladen der heruntergeladenen Pakete an einen privaten feed, der-OutputDirectory
Schalter hat mir geholfen, zu organisieren, alle heruntergeladenen Pakete und Abhängigkeiten in Ihrem eigenen Ordner, so dass es klar ist, welche jedes Paket benötigt, auf seine eigene.Hatte ich auch ein ähnliches Bedürfnis, so habe ich NuSave.
Meine Ziele waren, die Sie integrieren sollten sowie mit
NuGet.Server
, undPowerShell
für die build-Automatisierung.Ein wenig spät, um die Diskussion hier, aber ich lief in das gleiche Problem. Ich arbeite mit einer mittleren Größe der software-Entwicklung Geschäft, das funktioniert offline. Viele neue NuGet-Pakete haben eine sehr große Abhängigkeit Bäume. Versuchen Sie zu Fuß den Baum manuell und laden Sie alle benötigten Pakete war sehr umständlich. Am Ende schrieb ich, dass das NuGet-Abhängigkeit Downloader. Mit es Sie geben, die eine Paket-ID, Optional eine version, und wählen Sie, ob Sie zulassen möchten, dass die pre-release-Pakete. Nachdem Sie auf "Start" wird es nach unten ziehen die aufgelisteten Paket und alle Abhängigkeiten, die es braucht, um laufen. Als ein Beispiel, wenn ich in "Microsoft.AspNet.Mvc" und gewählte "pre-release", dieses tool runter geholt 158-Pakete für MVC 6.0 RC1. Hoffentlich wird dies helfen, solche arbeiten in einer offline-Umgebung.
https://github.com/StuffOfInterest/NuGetDependencyDownloader
In Ihrem
csproj
Datei: