Файл заголовка для установленного пакета NuGet не распознается в Visual Studio

Я пытаюсь изучить Halide, просматривая учебники. Я работаю в VS 15, добавил пакет NuGet для Halide и добавил его в качестве ссылки на свой проект (как показано на рисунке). Учебники NuGet, которые я смотрел, показывают, что после добавления ссылки VS должен автоматически распознавать заголовочный файл проекта, но этого не происходит. Я прочитал все связанные с этим вопросы stackoverflow и попытался удалить и переустановить пакет, перезапустить VS и убедиться, что пакет находится в правильном каталоге проекта. Я застрял — как мне сослаться на Halide в Visual Studio?

скриншот VS15

Я новичок в StackOverflow, Halide и Visual Studio, поэтому я очень благодарен за помощь.


person lostinthesauce    schedule 30.11.2018    source источник
comment
Вы перезапустили VS. после установки?   -  person Mohamed Benmahdjoub    schedule 30.11.2018
comment
Ага! Я перезапустил VS, а затем весь мой компьютер @Calips   -  person lostinthesauce    schedule 30.11.2018


Ответы (1)


Файл заголовка для установленного пакета NuGet не распознается в Visual Studio

Эта проблема связана с самим пакетом nuget. Это потому, что в этом пакете отсутствует файл .targets для добавления папки с файлом заголовка в файл AdditionalIncludeDirectories.

Когда вы откроете папку \packages в папке решения и откроете папку Halide.1.0.0, вы обнаружите, что в папке сборки нет такого файла Halide.targets. Если вы установите другой пакет nuget glew, вы найдете glew.targets в папке ..\build\native со следующим кодом:

  <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.

Обходной путь для этой проблемы, вы можете вручную добавить путь к AdditionalIncludeDirectories:

Свойства->C/C++->Общие->Дополнительные каталоги включения, добавьте C:\Users\<UserName>\source\repos\ConsoleApplication1\packages\Halide.1.0.0\include;%(AdditionalIncludeDirectories)

Надеюсь это поможет.

person Leo Liu-MSFT    schedule 03.12.2018