C++ IntelliSense 指向包含库的错误版本

C++ IntelliSense is pointing to an incorrect version of included library

我有一个 C++ 静态库项目,编译时没有任何错误,在 Error list window 中也没有显示任何错误。所以一切似乎都工作正常。除了当我尝试打开源代码时(CTRL + 左键单击库或库特定项目),然后打开了不正确版本的文件。为什么?

详细说明。我在 PC 上安装了 CUDA 9.1CUDA 9.2CUDA 10.2。我的项目有以下 CUDA Linker 配置:

CUDA linkerCommand line 我有:

"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin\nvcc.exe" -dlink -o x64\Debug\Core3.device-link.obj -Xcompiler "/EHsc /nologo /Zi " -L"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\lib\x64" cudart.lib

CUDA C/C++Command line 我有:

所以,它看起来不错。 但是在代码中,当我单击任何包含时 - 它们指向 9.2 源。示例:

#include <cuda.h> 
#include "cuda_runtime.h"
#include <device_launch_parameters.h> 

路径为:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\ v9.2 \include

另外我检查了环境变量。都好。还检查了在 .vcxproj 文件中使用了哪些 props 文件。属性 CUDA 10.2.props 无处不在。

所以我的问题是 - 为什么 IntelliSence 仍然认为我使用的是旧版本的 CUDA?更重要的是 - 我如何让他使用合适的 10.2 版本?

编辑 1: 评论中要求提供更多信息。包含目录 - 使用默认值。

变量检查:

@Neywat 建议删除 IntelliSense 文件夹并且有效。

不过我不得不删除解决方案目录中的整个 .vs 文件夹。

但问题仍然存在 - 这是一个已知问题吗?Microsoft 团队是否知道它?关于 .vs 文件夹生命周期的建议是什么?我们是否应该时常清理它?