C++ 错误MSB8020:平台工具集设置为V140,但错误表示它可以';找不到V110

C++ 错误MSB8020:平台工具集设置为V140,但错误表示它可以';找不到V110,c++,visual-studio,visual-c++,compiler-errors,visual-studio-2015,C++,Visual Studio,Visual C++,Compiler Errors,Visual Studio 2015,当我右键单击项目并转到“设置”时,我可以清楚地看到平台工具集设置为Visual Studio 2015(v140)。然而,当我去编译项目时,错误是 C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.Cpp.Platform.targets(54,5): error MSB8020: The build tools for Visual Studio 2012 (Platform Toolset = 'v110') c

当我右键单击项目并转到“设置”时,我可以清楚地看到平台工具集设置为Visual Studio 2015(v140)。然而,当我去编译项目时,错误是

C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.Cpp.Platform.targets(54,5): error MSB8020: The build tools for Visual Studio 2012 (Platform Toolset = 'v110') cannot be found. To build using the v110 build tools, please install Visual Studio 2012 build tools.  Alternatively, you may upgrade to the current Visual Studio tools by selecting the Project menu or right-click the solution, and then selecting "Retarget solution".
我试着做了推荐和“重定目标解决方案”,但那没用

如果打开references.targets文件,就看不到对V140的引用。我尝试将所有引用从V110(作为实验)更改为V140,但当我开始重新编译时,它只是将它们全部更改回V110,并生成相同的错误


当VS说它的目标是V140时,有没有关于如何阻止VS以V110为目标的想法?

问题在于我的项目引用了一个未包含在解决方案中的项目。诊断输出冗长帮助我找到了它。

显而易见的情况是,您的解决方案有多个项目,而您只是在修补错误的项目。不明显的情况要求您使用详细的MSBuild跟踪记录问题。是的,我的意思是说我非常确定它发生在该项目上,因为如果我只执行project>Build Only,我仍然会得到错误。不过,感谢您提供了MSBuld跟踪,直到您知道如何进入诊断模式才能更仔细地查看。我现在正在审查这一产出。希望这能给我我想要的答案。嗯,你是对的,我在修补错误的项目。它引用的是一个不包含在解决方案中的依赖项目,因此我从未修改过该工具集。我现在应该知道要经常梳理依赖关系。