无法从NuGet包中打开microsoft.ai.machinelearning.h

问题描述

我正在VS 2019中从事一个项目,并尝试使用最新的winrt / c ++机器学习api。因此,我执行了以下步骤:

  1. 为特定项目安装Microsoft.AI.MachineLearning 1.4.0 NuGet软件包
  2. 构建项目
  3. 添加#include“ winrt / Microsoft.AI.MachineLearning.h” 不幸的是,找不到标头源文件。我在做什么错了?

解决方法

无法从NuGet包中打开microsoft.ai.machinelearning.h

在安装nuget软件包Microsoft.AI.MachineLearning 1.4.0时,您应该使用此

#include "abi/Microsoft.AI.MachineLearning.h"

实际上Microsoft.AI.MachineLearning.h文件存在于您的nuget包的 abi 文件夹下。

================

更新1

我已转载了您的问题。看来我这边没有这种错误。我只是创建一个项目,然后是上面的文档,然后安装该nuget包->构建该项目,然后,我可以调用 `winrt / Microsoft.AI.MachineLearning.h。

并且 winrt c ++项目只是在构建过程中根据项目的功能将此类文件放入 Generated Files 文件夹中。

所以这是一个非常奇怪的行为,我建议您可以按照以下步骤进行故障排除:

首先,您可以先检查this document

1)首先,关闭您的Windows Console Application (C++/WinRT)项目,删除.vs隐藏文件夹,所有输出文件夹,例如 Debug Release 在解决方案文件夹和项目文件夹下。

2),然后重新启动项目,并确保已安装Microsoft.AI.MachineLearning 1.4.0 NuGet软件包。

然后,重新生成您的项目,并确保构建过程成功。

3)然后我可以打电话给#include "winrt/Microsoft.AI.MachineLearning.h"

enter image description here

如果这些步骤没有帮助,我认为VS或您当前的项目本身有问题。

请尝试在扩展-> 管理扩展下禁用任何其他第三方扩展,然后重新启动VS进行测试。

或者只需创建一个新的WinRT C ++项目来测试问题是否在新项目中发生。