Visual Studio 无法识别已安装 NuGet 包的头文件

Posted

技术标签:

【中文标题】Visual Studio 无法识别已安装 NuGet 包的头文件【英文标题】:Header file for installed NuGet package not recognized in Visual Studio 【发布时间】:2018-11-30 15:51:51 【问题描述】:

我正在尝试通过浏览教程来学习 Halide。我在 VS 15 中工作,并为 Halide 添加了 NuGet 包并将其添加为对我的项目的引用(如图所示)。我看过的 NuGet 教程似乎表明,一旦我添加了引用,VS 应该会自动识别项目的头文件,但这并没有发生。我已经阅读了与此相关的所有 *** 问题,并尝试卸载并重新安装包,重新启动 VS,并确保包位于正确的项目目录中。我卡住了——如何在 Visual Studio 中引用 Halide?​​p>

screenshot of VS15

我是 ***、Halide 和 Visual Studio 的新手,非常感谢您的帮助。

【问题讨论】:

你重启VS了吗?安装后? 是的!我重新启动了 VS,然后我的整个计算机 @Calips 【参考方案1】:

Visual Studio 无法识别已安装 NuGet 包的头文件

此问题与 nuget 包本身有关。那是因为这个包缺少一个.targets文件来添加头文件文件夹到AdditionalIncludeDirectories

当你打开解决方案文件夹中的\packages文件夹,再打开文件夹Halide.1.0.0,你会发现build文件夹中没有Halide.targets这个文件。如果你安装另一个nuget包glew,你会在..\build\native文件夹中找到glew.targets,代码如下:

  <ItemDefinitionGroup>
    <ClCompile>
      <PreprocessorDefinitions>HAS_GLEW;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)../..//build/native/include/;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
    </ClCompile>
    <ResourceCompile>
      <AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)../..//build/native/include/;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
    </ResourceCompile>
  </ItemDefinitionGroup>

Visual Studio 无法识别 Header 文件的原因。

这个问题的解决方法,可以手动添加AdditionalIncludeDirectories的路径:

Properties->C/C++->General->Additional Include Directories,添加C:\Users\&lt;UserName&gt;\source\repos\ConsoleApplication1\packages\Halide.1.0.0\include;%(AdditionalIncludeDirectories)

希望这会有所帮助。

【讨论】:

以上是关于Visual Studio 无法识别已安装 NuGet 包的头文件的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio Code 无法检测到已安装的 git

Visual Studio Code 无法检测到已安装的 git

无法在visual studio中的visual c ++下找到windows驱动程序选项(已安装WDK)

Xamarin Visual Studio不识别JDK路径

Visual C++ 项目引擎安装不正确。生成无法继续。请修复 Visual Studio 的安装.这个是怎么回事啊?

Visual Studio Code 无法检测到已安装的 git 并且“启动 git 时出错:文件名或扩展名太长。”