2017-02-22 4 views
0

Wie installiere ich ein nugget-Paket systemweit auf Visual Studio 2015?Wie installiere ich systemweite nuget-Pakete?

Ich meine, yeah, Sie können Nuget-Pakete pro Projekt und pro-Lösung installieren ... aber, ist es möglich, sie systemweit zu installieren, damit sie für Quellen mit vs2015 Compiler verfügbar sind?

Momentan kodiere ich einige swig C++ Module, die auf Python mit cmake verwendet werden sollen und diese Bibliotheken systemweit verfügbar haben, damit ich sie wie jeden anderen System-Header integrieren kann, wäre ziemlich praktisch.

Nur um zu klären, das von cmake generierte Projekt wird Ninja sein (mit vs-Compiler) + ST (kein Paket-Manager beteiligt) ... aber trotzdem möchte ich in der Lage sein, die von nugget bereitgestellten Goodies zu verwenden Meine Bibliothek ist bereit für die Verwendung durch die Swig-Module

+0

Es gibt keinen globalen Installationsmodus für NuGet. (Pakete werden jedoch im Cache zwischengespeichert: die Verwendung in mehreren Lösungen erfordert keine neuen Downloads.) – Richard

+0

Es funktioniert bereits so, Pakete werden in% userprofile% /. Nuget zwischengespeichert. Wenn Sie also das nächste Mal ein Projekt benötigen, ist es sofort verfügbar, wenn Sie den Paketmanager bitten, es zu Ihrem Projekt hinzuzufügen. Es macht keinen Sinn, es anders zu machen. –

+0

@HansPassant Ja, die Sache ist, ich benutze CMake und das generierte Projekt wird Ninja (vs Compiler) + ST sein (kein Paketmanager beteiligt) ... aber trotzdem möchte ich in der Lage sein, die bereitgestellten Goodies zu verwenden von nugget, um meine Bibliothek bereit zu haben, von meinen swig-Modulen verwendet zu werden – BPL

Antwort

2

Das Nuget-Paketverwaltungssystem hat keinen "systemweiten" Installationsmodus.

Heruntergeladene Pakete werden zwischengespeichert, sodass Sie nicht jedes Mal für jedes Projekt/jede Lösung, die auf sie verweist, erneut herunterladen müssen.

Sie können auch einen Pfad angeben, wo die Pakete abgelegt werden sollen, aber soweit ich weiß für C++ - Projekte, hat dies einige Nachteile, einschließlich der Tatsache, dass Projektdateien mit * .props Dateipfaden relativ zur Lösung injiziert werden bewirkt, dass das Nuget-System aus denselben Projekten, die in verschiedenen Lösungen auf verschiedenen Pfadstufen enthalten sind, kaum verwendbar ist.

Es scheint, dass Microsoft in Richtung eines anderen Paket-Managers für C++ native Projekte bewegt, möchten Sie vielleicht VCPKG on Github betrachten.

+0

VCPKG sieht genau das aus, was ich gesucht habe, danke! Obwohl meine erste Testversion nicht sehr gut läuft, wird die Bibliothek nach der Installation von vcpkg und der Installation von 'sdl2: x86-windows' nicht von meinem cmake-Projekt gefunden. Und schlimmstenfalls, wenn ich eine neue leere Win32-Konsolenanwendung auf VS erstelle und diesen [leeren Code] (https://bpaste.net/show/dda3a1ac97d9) benutze, um zu beweisen, dass die Lösung diese Bibliothek finden wird, versagt sie kläglich damit [ Fehler] (https://dl.dropboxusercontent.com/u/21334722/Uploads/2017/02/devenv_2017-02-22_16-10-39.png), irgendein Hinweis? +1 – BPL

+0

Mit freundlichen Grüßen, ich benutze nicht VCPKG selbst, ich wurde von den NuGet-Problemen abgepuffert, und durch die Tatsache, dass Microsoft wieder einmal seine eigene Lösung gemacht hat, anstatt zu einigen guten C++ - Paketmanagern beizutragen schon (; weit?) benutzt, also https://www.conan.io/ oder https://github.com/ruslo/hunter – roalz

+0

ich sehe, lass mich das dann als akzeptiert dann markieren, es beantwortet im Grunde meine Hauptfrage, Dieser wäre ein zusätzlicher, der die Fehlersuche über vcpkg betrifft. Ich habe eine neue [hier] geöffnet (http: // stackoverflow.com/questions/42395981/get-up-and-running-vcpkg) falls jemand daran interessiert ist. Wie auch immer, danke, dass du vcpkg erwähnt hast ... es sieht wirklich vielversprechend aus ;-D – BPL