C++ NuGet未添加包含目录

C++ NuGet未添加包含目录,c++,visual-studio-2013,visual-studio-2015,nuget-package-restore,C++,Visual Studio 2013,Visual Studio 2015,Nuget Package Restore,我正在用VS Professional 2013开发一个应用程序,它使用一个名为SFML的NuGet包。我现在正在试用VS 2015的快速版,我想通过构建这个应用程序来测试它。应用程序的源代码在GitHub上,我可以将存储库克隆到一个新的本地目录中,并在VS2015中打开它。生成时,会还原NuGet软件包,并将“软件包”文件夹添加到本地解决方案文件夹中。但是,C++代码本身无法编译,导致编译器错误: 错误(活动)无法打开源文件“SFML\System\NonCopyable.hpp” 在一行写着

我正在用VS Professional 2013开发一个应用程序,它使用一个名为SFML的NuGet包。我现在正在试用VS 2015的快速版,我想通过构建这个应用程序来测试它。应用程序的源代码在GitHub上,我可以将存储库克隆到一个新的本地目录中,并在VS2015中打开它。生成时,会还原NuGet软件包,并将“软件包”文件夹添加到本地解决方案文件夹中。但是,C++代码本身无法编译,导致编译器错误:

错误(活动)无法打开源文件“SFML\System\NonCopyable.hpp”

在一行写着

#include <SFML\System\NonCopyable.hpp>
#包括
这个错误在VS 2013中从未发生过,我认为这是因为NuGet向项目的附加Include目录添加了适当的路径。这不是因为NuGet问题或VS 2015问题,还是因为我错过了什么?是否有任何方法可以使用我当前的2015 Express edition解决此问题


提前谢谢

我也有同样的问题。在我的示例中,我注意到我的NugGet软件包的v120名称为Microsoft.AspNet.signar.Client.Cpp.v120.WinDesktop出现错误,无法找到包含文件pplx\pplxstasks.h

要解决此问题,请执行以下操作:

  • 右键单击解决方案资源管理器中的项目,然后选择属性
  • 在配置属性中-将平台工具集一般更改为与NuGet软件包匹配的版本-在本例中Visual Studio 2013(v120)
  • 有关更改平台工具集的更多详细信息,请参见:


    现在项目已正确编译。

    感谢您的回复!但我不确定我是否遵循了你的解决方案。什么是“Microsoft.AspNet.signal.Client.Cpp.v120.WinDesktop”?那是一个文件,一个设置吗?此外,我在解决方案配置属性中的任何位置都找不到“平台工具集”。我看到一个“平台”列,但它唯一允许的值是Win32和x64,与Visual Studio 2013(v120)无关。此外,我注意到解决方案项目中的头文件和源文件过滤器都是空的,即使.vcxproj文件显示了正确的ItemGroup元素。知道那是怎么回事吗?再次感谢。它位于项目属性中,而不是解决方案属性中。在我的例子中,Microsoft.AspNet.signar.Client.Cpp.v120.WinDesktop是Nuget包的名称,它为我提供了解决方案的线索。这可能与您的解决方案不同;如果其他人对同一个NuGet软件包有问题,我就在这里输入名称。您遇到问题的文件是NuGet Boost软件包的一部分,如果您右键单击该项目,管理NuGet软件包,请确保安装了Boost。