无法findv120的构build工具(Platform Toolset ='v120')

在windows 8 x64上使用visual studio 2012显然这是由于msbuild被移入.net引起的,但是我还没有看到如何修复它。

4>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.Cpp.Platform.targets(44,5): error MSB8020: The builds tools for v120 (Platform Toolset = 'v120') cannot be found. To build using the v120 build tools, either click the Project menu or right-click the solution, and then select "Update VC++ Projects...". Install v120 to build using the v120 build tools. 2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.Cpp.Platform.targets(44,5): error MSB8020: The builds tools for v120 (Platform Toolset = 'v120') cannot be found. To build using the v120 build tools, either click the Project menu or right-click the solution, and then select "Update VC++ Projects...". Install v120 to build using the v120 build tools. 5>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.Cpp.Platform.targets(44,5): error MSB8020: The builds tools for v120 (Platform Toolset = 'v120') cannot be found. To build using the v120 build tools, either click the Project menu or right-click the solution, and then select "Update VC++ Projects...". Install v120 to build using the v120 build tools. 

http://en.wikipedia.org/wiki/Visual_C++

您正在使用v110的Visual C ++ 2012。 v120意味着Visual C ++ 2013。

因此,要么将项目设置更改为使用工具集v110,要么在此计算机上安装Visual Studio 2013,并使用VS2013对其进行编译。

如果您安装了VS2013并且出现此错误,则可能是调用错误的MSBuild。 使用VS2013,微软现在将MSBuild作为Visual Studio的一部分。 有关详细信息,请参阅此Visual Studio博客张贴 。

尤其要注意二进制文件的新位置:

在32位机器上,可以在C:\ Program Files \ MSBuild \ 12.0 \ bin中find它们

在64位机器上,32位工具将位于:C:\ Program Files(x86)\ MSBuild \ 12.0 \ bin

以及C:\ Program Files(x86)\ MSBuild \ 12.0 \ bin \ amd64下的64位工具

%WINDIR%\Microsoft.NET\Framework\中的MSBuild似乎无法识别VS2013(v120)平台工具集。

如果你使用visual 2012,请右键单击项目名称 – >属性 – >configuration属性 – >常规 – >平台工具集 – > Visual Studio 2012(v110)

加起来凯文和Lex的答案:

在开发人员和构build服务器都使用Visual Studio 2013的情况下,我们也遇到了类似的情况。我们的解决scheme有一个VS 2013 C ++项目,并且在开发人员的机器上或IDE中的构build服务器上编译时可以正常编译。 问题是使用TFS构build定义触发构build时。 我们还在使用旧的构build模板(版本11.1)而不是12.0。 幸运的是,除了模板xaml文件之外,还有一个简单的属性解决了这个问题。 在序列部分“编译项目”中,有一个以开始的xaml节点

 mtbwa:MSBuild CommandLineArgument=.... 

你可以添加一个“ToolPath”属性,并根据Kevin的回答将它指向你想要调用的MSBuild.exe的正确path。 例如:

 ToolPath="C:\Program Files (x86)\MSBuild\12.0\Bin" 

加起来路易斯回答:

或者,如果您使用Visual Studio 2013而不是使用ToolPath属性,则可以使用属性ToolVersion="12.0" 。 详细信息请访问http://msdn.microsoft.com/en-us/library/dd647548.aspx

所以你不是被迫使用绝对path。

当在VS2015中打开一个VS2013 C ++项目,并且有关于“无法findv120的构build工具…”的警告时,我只需编辑.vcxproj文件并将<PlatformToolset>v120</PlatformToolset>更改为<PlatformToolset>v140</PlatformToolset> ,然后closures并重新打开该解决scheme。

在VS 2012中,我得到了“SMB2不会构build:错误1错误MSB8020:无法findVisual Studio 2010的构build工具(平台工具集='v100')要使用v100构build工具构build,请单击项目菜单或右键单击该解决scheme,然后select“更新VC ++项目…”。安装Visual Studio 2010以使用Visual Studio 2010构build工具进行构build。

谨慎的风,我试着build议:在解决scheme资源pipe理器中select解决scheme,然后单击“更新VC ++”菜单项。 这做了一些更新,然后开始构build成功。

“更新VC ++”菜单项不再出现在解决scheme菜单中。

当我删除VS 2013社区更新5并切换到VS 2015社区版时,我遇到了类似的问题

并在Windows Phone 8.1项目中获得的问题,它抱怨没有正确的MSBuild工具集,即使它们没有安装仿真器。

我知道问题的根源在于最后一次卸载所留下的VS 2013社区设置,尽pipe卸载过程顺利进行,控制面板没有任何问题,但这一切都让我感到困惑。

我尽我所能删除了任何剩余的文件,但总是留下一些东西。

而只是为我修复了一个新鲜的Windows 10 x64安装,然后我安装了VS 2015社区版,就是这样! 没有更多的错误,我和wp8.1模拟器工作得很好!

在我的情况下,现在我完全确信以前的视觉工作室安装设置已经搞砸了我的一切,因为我没有find任何方式,并试图完全清除VS 2013社区文件和设置,我不得不付出代价,并重新安装我的操作系统

如果你能find一种方法来彻底清除最后的visual studio安装文件,你可能可以避免重新安装操作系统。

PS:只有尝试过所有可能的方法后才尝试这个解决scheme(操作系统重新安装),然后如果没有任何工作,只有那么…使这个解决scheme作为最后的手段。

在VS2013中设置所有项目来修正构build工具,可以在解决scheme资源pipe理器中右键单击解决scheme,然后select“redirect解决scheme”。 它会改变所有progects(你打开对话框中的checkbox检查),所以错误将会消失。

在我的情况下,我已经双击一个Visual 2013 sln文件,Visual 2012打开(而不是Visual 2013)。 尝试使用Visual 2012进行编译时,将平台工具集设置为“v120”的项目显示上述错误。 但是,在Visual 2013中重新打开sln,平台工具集被设置为“Visual Studio 2013(v120)” – 请注意这个时候的完整名称 – 实际上是为我完成了这个工作。 该项目现在编译好。

我在VS2015中构buildUSBView项目时遇到了同样的错误。 我通过select“平台工具集”设置为“Visual Studio 2015(v140)”,并右键单击解决scheme(在VS2015中)并select“redirect解决scheme”并在该对话框上select了10.0.10240.0,从而消除了此错误。

似乎也有微软的ProjectUpgradeTool,这是假设转换旧的项目升级到VS2012 VS后,但我无法find我的机器上的工具。

我仍然需要在这个帮助下修复一些新的链接器错误。

我有一个类似的问题。 VS 2015社区(MSBuild 14)构build一个C ++应用程序,想使用VS 2010(v100)工具。 这一切都降低了给MSBuild一个无效的configuration选项。 奇怪。

所以,重新检查所有这些选项和参数。

如果您使用cmake,JUCE等 make生成器尝试设置正确的VS版本目标(2013,2015,2017)并再次重新生成解决scheme