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

Cannot open microsoft.ai.machinelearning.h from NuGet package

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

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

Cannot open microsoft.ai.machinelearning.h from NuGet package

当你安装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.

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

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

首先,您可以先检查this document

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

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

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

3) 然后我可以调用 #include "winrt/Microsoft.AI.MachineLearning.h".

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

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

或者新建一个WinRT C++项目来测试新项目是否出现问题。