我昨天刚刚安装了Visual Studio(2015)。我在D:\VsStudio.WS\hello-world
目录中创建了一个Hello World C ++控制台应用程序。
int main(int argc, char* argv[]) {
printf("It works!");
return 0;
}
它编译和工作。当我关闭Visual Studio并通过双击SLN文件打开项目时,Visual Studio会抱怨
MSB8008:未安装或无效的指定平台工具集(v140)。请确保选中支持的PlatformToolset值。
并且无法编译。此外,IntelliSense无法找到SDKDDKHVer.h
和其他一些文件,printf()
函数带有红色下划线,并显示“错误:标识符printf未定义。”
如果我关闭解决方案,但保持Visual Studio打开,然后使用文件菜单打开解决方案,“损坏”状态仍然存在。 (我注意到在这种“腐败”的状态下,doxygen语法很有效,但之前没有。)
如果我关闭Visual Studio并从Windows的“开始”菜单启动它,则转到文件菜单并打开解决方案,不显示任何错误,程序将正确编译和执行。然而,在这种“理智”状态下,doxygen语法突出显示不工作,无论如何。
是什么原因引起了这种行为以及如何解决?
答案 0 :(得分:-1)
我终于找到了这样的信息:我的计算机上仍然安装了旧的Visual Studio 2010。在Windows资源管理器中,SLN文件设置为使用Visual Studio 2010打开,当然,它不支持平台工具集(v140)。 doxygen语法很明显只适用于Visual Studio 2010,但不适用于2015,无论如何。
如何修复它:
右键单击解决方案并选择打开方式→选择其他应用程序→Microsoft Visual Studio版本选择器→选中:“始终使用此应用程序打开”→确定修复它。