2017-02-22 140 views
0

如何在visual studio 2015上安裝nuget包系統?如何安裝系統範圍的nuget軟件包?

我的意思是,是的,你可以安裝nuget軟件包每個項目和每個解決方案......但是,有可能在系統範圍內安裝它們,以便他們將可用於使用vs2015編譯器的源?

現在我正在編寫一些swig C++模塊用於python與cmake,並使這些庫在系統範圍內可用,所以我可以包含它們像任何其他系統頭將是非常方便。

只是爲了澄清,由cmake生成的項目將是忍者(使用vs編譯器)+ ST(不涉及包管理器)...但我仍然希望能夠使用nuget提供的好吃的東西我的庫設置已準備好供swig模塊使用

+0

NuGet沒有全局安裝模式。 (但是軟件包下載被緩存:在多個解決方案中使用不需要新鮮下載。) – Richard

+0

它已經以這種方式工作,軟件包被緩存在%userprofile%/。nuget中。所以下一次你需要一個項目時,當你要求軟件包管理器將它添加到你的項目中時,它會立即可用。做任何其他方式都沒有意義。 –

+0

@HansPassant是的,事情是,我使用CMake,生成的項目將是忍者(vs編譯器)+ ST(不涉及包管理器)......但我仍然希望能夠使用提供的好東西由nuget讓我的圖書館準備好供我的swig模塊使用 – BPL

回答

2

Nuget軟件包管理系統沒有「系統範圍」安裝模式。

下載的軟件包被緩存,因此您不必每次都重新下載它們以引用它們的每個項目/解決方案。

你也可以指定放置包的路徑,但據我所知C++項目有一些缺點,包括項目文件注入了* .props文件路徑相對於解決方案的事實,導致Nuget系統幾乎不可用於包含在不同路徑級別的不同解決方案中的相同項目。

看來微軟正在向C++原生項目尋求一個不同的包管理器,你可能想看看VCPKG on Github

+0

VCPKG看起來正是我要找的,謝謝!雖然我的第一次嘗試不太好,但在安裝vcpkg並安裝'sdl2:x86-windows'之後,我的cmake項目不會找到該庫。甚至最糟糕的是,當我在VS上創建一個新的空win32控制檯應用程序並使用[空代碼](https://bpaste.net/show/dda3a1ac97d9)來證明該解決方案會找到該庫時,錯誤](https://dl.dropboxusercontent.com/u/21334722/Uploads/2017/02/devenv_2017-02-22_16-10-39.png),任何線索? +1暫時的 – BPL

+0

真誠的,我自己並沒有使用VCPKG,我被NuGet問題所困擾,而且事實上,微軟再一次制定了自己的解決方案,而不是爲一些優秀的C++軟件包管理者做出貢獻已經(廣泛使用),即https://www.conan.io/或https://github.com/ruslo/hunter – roalz

+0

我看到了,讓我標記這然後接受然後,它基本上回答我的主要問題,這將是一個額外的,這是關於vcpkg的故障排除。我打開了一個新的[here](http:// stackoverflow。com/questions/42395981/get-up-and-running-vcpkg),以防有人對此感興趣。無論如何,感謝提及vcpkg ...它看起來很有前途; --D – BPL

相關問題