NuGet不添加包含目录

时间:2015-08-10 08:25:10

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

我正在使用名为SFML的NuGet包开发VS Professional 2013的应用程序。我现在正在试用VS 2015的Express版本,我想通过构建这个应用程序来测试它。该应用程序的源代码在GitHub上,我可以将存储库克隆到一个新的本地目录,并在VS 2015中打开它就好了。构建时,将恢复NuGet包,并将“packages”文件夹添加到本地解决方案文件夹中。但是,C ++代码本身无法构建,抛出了编译器错误:

  

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

在一行

#include <SFML\System\NonCopyable.hpp>

在VS 2013中从未发生此错误,我认为这是因为NuGet为项目的其他包含目录添加了适当的路径。由于NuGet问题或VS 2015问题,或者仅仅因为我遗漏了某些东西,这现在不会发生吗?有什么方法可以使用我目前的2015 Express版本来解决这个问题吗?

提前致谢!

1 个答案:

答案 0 :(得分:2)

我有同样的问题。在我的例子中,我注意到我的NugGet软件包名为v120,名称为 Microsoft.AspNet.SignalR.Client.Cpp.v120.WinDesktop 我收到错误无法找到包含文件 pplx \ pplxtasks.h

解决此问题:

  1. 右键单击解决方案资源管理器中的项目,然后选择属性
  2. 在配置属性中 - 常规将平台工具集更改为与您的NuGet包匹配的版本 - 在本例中为 Visual Studio 2013(v120)
  3. 有关更改平台工具集的更多详细信息,请访问:https://msdn.microsoft.com/en-AU/library/ff770576.aspx

    现在项目编译正确。