无法找到v120(Platform Toolset ='v120')的构建工具

时间:2013-11-05 23:21:28

标签: visual-studio msbuild

在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.

16 个答案:

答案 0 :(得分:83)

如果您安装了VS2013并且收到此错误,则可能是在调用错误的MSBuild。借助VS2013,Microsoft现在将MSBuild作为Visual Studio的一部分。有关详细信息,请参阅this Visual Studio blog posting

请特别注意二进制文件的新位置:

  

在32位计算机上,可以找到它们:C:\ Program   文件\的MSBuild \ 12.0 \ BIN

     

在64位计算机上,32位工具将位于:C:\ Program Files   (86)\的MSBuild \ 12.0 \ BIN

     

和64位工具:C:\ Program Files   (86)\的MSBuild \ 12.0 \ BIN \ AMD64

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

答案 1 :(得分:72)

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

您使用的是Visual C ++ 2012,即v110。 v120表示Visual C ++ 2013。

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

答案 2 :(得分:68)

如果您使用的是visual 2012 右键单击项目名称 - >属性 - >配置属性 - >一般 - >平台工具集 - > Visual Studio 2012(v110)

答案 3 :(得分:14)

从中下载并设置Microsoft Build Tools 2013 http://www.microsoft.com/en-US/download/details.aspx?id=40760

答案 4 :(得分:7)

加起来凯文和莱克斯的答案:

我们遇到类似的情况,开发人员和构建服务器都有Visual Studio 2013.我们的解决方案有一个VS 2013 C ++项目,并且在构建于开发人员的计算机上或IDE内的构建服务器上时编译得很好。 问题是使用TFS构建定义触发构建时。我们仍在使用旧的构建模板(版本11.1)而不是12.0。幸运的是,模板xaml文件的一个简单属性添加解决了这个问题。 在序列部分“编译项目”中,有一个以

开头的xaml节点
mtbwa:MSBuild CommandLineArgument=....

您可以添加“ToolPath”属性,并根据Kevin的回答将其指向您要调用的MSBuild.exe的正确路径。例如:

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

答案 5 :(得分:4)

加起来路易答案:

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

所以你不会被迫使用绝对路径。

答案 6 :(得分:3)

在VS2015中打开VS2013 C ++项目时,出现“无法找到v120的构建工具...”的警告,我只需编辑.vcxproj文件并将<PlatformToolset>v120</PlatformToolset>更改为{ {1}},然后关闭并重新打开解决方案。

答案 7 :(得分:2)

为此浪费了4个多小时。

我有 Visual Studio 2017 Enterprise ,其中一个项目出现以下错误:

  

找不到用于v120的构建工具(平台工具集='v120')

要解决以上错误,我尝试在下面安装所有组件:

但是,以上方法均无效。

后来,安装了 Visual Studio 2013 Ultimate ,然后一切正常。

看起来,较早的Visual Studio是解决此问题的必备条件。

希望有帮助。

答案 8 :(得分:1)

在VS 2012中,我得到了&#34; SMB2无法构建:错误1错误MSB8020:无法找到Visual Studio 2010的构建工具(平台工具集=&#39; v100&#39;)。要使用v100构建工具进行构建,请单击“项目”菜单或右键单击解决方案,然后选择“更新VC ++项目...”#34;。安装Visual Studio 2010以使用Visual Studio 2010构建工具进行构建。&#34;

谨慎行事,我尝试了以下建议:在解决方案资源管理器中选择解决方案,然后点击&#34;更新VC ++&#34;菜单项。这做了一些更新,然后开始了一个成功的构建。

&#34;更新VC ++&#34;菜单项不再出现在解决方案菜单中。

答案 9 :(得分:1)

当我删除VS 2013社区更新5并切换到VS 2015社区版

时,我遇到了类似的问题

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

我知道问题的根源是上次卸载时留下的VS 2013社区设置,即使卸载过程顺利,控制面板没有任何问题,也可以解决所有问题。

我尽力删除剩下的所有文件,但总有一些事情要做。

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

在我的情况下,现在我完全确定以前的visual studio安装设置已经搞砸了我的一切,因为我找不到任何方式并试图完全删除VS 2013社区文件和设置我必须为此付出代价它并重新安装我的操作系统。

如果您能找到彻底清除最后一个Visual Studio安装文件的方法,则可以避免重新安装操作系统。

P.S:只有在你尝试了所有可行的方法之后才尝试这个解决方案(操作系统重新安装),然后如果什么都不起作用,那么...将此解决方案作为最后的手段。

答案 10 :(得分:0)

在VS2013中设置所有项目以更正构建工具,您可以右键单击解决方案资源管理器中的解决方案,然后选择“重新定位解决方案”。它将更改所有progects(所有你用打开的对话框中的复选框检查),所以错误将消失。

答案 11 :(得分:0)

就我而言,我双击了Visual 2013 sln文件并打开了Visual 2012(而不是Visual 2013)。尝试使用Visual 2012进行编译,该项目将Platform Toolset设置为&#34; v120&#34;显示上述错误。但是,使用Visual 2013重新打开sln,平台工具集被设置为&#34; Visual Studio 2013(v120)&#34; - 这次请注意完整的名字 - 实际上是为我做的工作。该项目现在编制得很好。

答案 12 :(得分:0)

我在VS2015中构建USBView项目时遇到了同样的错误。我通过选择“平台工具集”设置为“Visual Studio 2015(v140)”而不是右键单击解决方案(在VS2015中)并选择“重新定位解决方案”并在该对话框中选择10.0.10240.0来删除此错误。

似乎还有来自microsoft的ProjectUpgradeTool,它假设将旧项目转换为升级到VS2012 VS,但我无法在我的机器上找到该工具。

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

答案 13 :(得分:0)

我有类似的问题。 VS 2015社区(MSBuild 14)构建一个c ++应用程序,想要使用VS 2010(v100)工具。这一切都归结为msbuild提供了无效的配置选项。奇怪。

因此,请重新检查所有这些选项和参数。

答案 14 :(得分:0)

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

答案 15 :(得分:0)

在构建一些项目时我遇到了同样的问题。

我使用的是Visual Studio 2015 IDE,它运行良好但是在使用PowerShell脚本进行构建时,它提供了与工具集相关的 &#34; v140的构建工具(Platform Toolset =&#39) ;无法找到v140&#39;)&#34; 错误

所以最终是指向相应项目的错误MSBUILD exe的问题。

早些时候我指着 $ MSBUILD =&#34; C:\ Windows \ Microsoft.NET \框架\ v4.0.30319 \ MSBuild.exe

当我更新脚本指向时,构建成功 $ MSBUILD =&#34; C:\ Program Files(x86)\ MSBuild \ 14.0 \ Bin \ MSBuild.exe&#34;

因此,要解决此问题,请确保使用正确的MSBUILD。