Visual studio VS 2012无法编译VC++项目 我有一个MFC VisualC++项目,它是在VisualStudio 2008上创建的。 该项目使用VS2010进行编译

Visual studio VS 2012无法编译VC++项目 我有一个MFC VisualC++项目,它是在VisualStudio 2008上创建的。 该项目使用VS2010进行编译,visual-studio,visual-c++,visual-studio-2012,msbuild,Visual Studio,Visual C++,Visual Studio 2012,Msbuild,当我试图用VS 2012编译项目时,会弹出一个消息框,上面写着: The operation could not be completed 我将平台工具集版本更改为Visual Studio 2012,但仍然出现相同的错误 尝试使用MSBuild CLI编译项目时,出现以下错误: error MSB8008: Specified platform toolset (v110) is not installed or invalid. Please make sure that a suppor

当我试图用VS 2012编译项目时,会弹出一个消息框,上面写着:

The operation could not be completed
我将平台工具集版本更改为Visual Studio 2012,但仍然出现相同的错误

尝试使用MSBuild CLI编译项目时,出现以下错误:

error MSB8008: Specified platform toolset (v110) is not installed or invalid. Please make sure that a supported PlatformToolset value is selected.
现在,有趣的是:

如果我将平台工具集版本更改回VS 2010,那么MSBuild CLI将毫无问题地编译它


那么,为什么VS 2012不能执行相同的操作呢?

当您使用VS2012打开VS2008或VS2010项目时,它会通知您更新到新平台,确保您已将其更新到VS2012,然后

通过defalut选择v110

检查SDL检查,如果“是”,许多VS2010代码将在VS2012中出错。如果是这样,您需要更新代码,或将其更改为“否”

重建而不是建造


如果我将平台工具集版本更改为v100,VS 2012的行为仍然相同-告诉我在尝试构建项目时操作无法完成。同样,这仅来自VS ui-如果我从msbuild命令行生成项目,则生成将在没有错误的情况下完成。msbuild CLI不会编译它,因为默认情况下,它将为vcxproj选择VC2010编译器。如果要求msbuild生成.sln文件,则它将使用VC2012编译器。触发它的是.sln文件顶部的Visual Studio 2012行