nuget包管理器在哪里包含在VS 2015中设置的目录?

时间:2016-09-21 16:23:26

标签: c++ visual-studio visual-studio-2015 nuget nuget-package

我目前正在VS 2015(Enterprise)中尝试使用nuget包管理器(3.4.3.855)的第一步。对于我的C ++ / Qt项目,我设法找到了我需要的一些库,它们似乎被正确下载到<myprojectDir>/packages/<package_name>/...个文件夹。

然而,对我来说这是一个谜,在哪里以及如何为项目指定包含头文件和/或库的文件夹?

我的意思是,例如使用Eigen库,导入nuget包之后我只能#include <Eigen/core>,它位于

<myprojectDir>\packages\Eigen.3.2.9\build\native\include

并且一切正常,但我没有packages\Eigen.3.2.9\build\native\include - 路径在属性页的VC++ Directories->Include Directories列表中弹出,也没有项目属性中的自定义属性页(是的,我做过不要点击解决方案属性;)),例如在this示例视频中使用zlib包。如果我安装zlib包,我甚至没有这个属性页。

虽然它似乎在某种程度上在Eigen的引擎盖下工作,但它不适用于Visual Leak Detector(vld)包......所以知道事情的工作方式会很棒;)

感谢您的帮助......

1 个答案:

答案 0 :(得分:1)

从NuGet 2.5开始,C ++项目通过MSBuild属性识别已安装的软件包,并从NuGet软件包中识别目标文件。在C ++项目中安装包后,MSBuild文件将导入到项目文件中。因此,项目将知道如何查找和使用NuGet包的内容。

为了更好地进行MSBuild集成,NuGet创建了一个新的约定,用于从NuGet包中自动导入MSBuild属性和目标。除了现有的\ content,\ lib和\ tools文件夹,NuGet现在可识别新的顶级文件夹:\ build。您可以打开通过NuGet Package Explorer安装的Eigen包,其中有一个\ build文件夹和一个包含MSBuild属性的Eigen.targets文件。

请参阅下面的MSBuild集成部分链接:

http://blog.nuget.org/20130426/native-support.html enter image description here