En utilisant Visual Studio 2012 sur Windows 8 x64, cela est dû au déplacement de msbuild vers .net, mais je n'ai pas encore vu comment le résoudre.
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.
visual-studio
msbuild
clienthax
la source
la source
PlatformToolset
, vous pouvez la remplacer comme ceci (VS2013):"\Program Files (x86)\MSBuild\12.0\Bin\MSBuild" .\path\to\MySolution.sln /p:PlatformToolset=v120
(si vous êtes dans PowerShell, mettez&
avant\Progr..
). Pour VS2015, il deviendra"\Program Files (x86)\MSBuild\14.0\Bin\MSBuild"
et/p:PlatformToolset=v140
et ainsi de suite.Réponses:
http://en.wikipedia.org/wiki/Visual_C++
Vous utilisez Visual C ++ 2012 qui est v110. v120 signifie Visual C ++ 2013.
Donc, soit vous modifiez les paramètres du projet pour utiliser l'ensemble d'outils v110, soit vous installez Visual Studio 2013 sur cette machine et utilisez VS2013 pour le compiler.
la source
Si VS2013 est installé et que vous obtenez cette erreur, vous appelez peut-être le mauvais MSBuild. Avec VS2013, Microsoft inclut désormais MSBuild dans le cadre de Visual Studio. Consultez cette publication de blog Visual Studio pour plus de détails.
En particulier, notez le nouvel emplacement des binaires:
MSBuild
%WINDIR%\Microsoft.NET\Framework\
ne semble pas reconnaître l'ensemble d'outils de la plate-forme VS2013 (v120).la source
C:\Program Files (x86)\MSBuild\12.0\bin\MSbuild.exe
.si vous utilisez Visual 2012, cliquez avec le bouton droit sur le nom du projet -> propriétés -> propriétés de configuration -> général -> ensemble d'outils de la plateforme -> Visual Studio 2012 (v110)
la source
Téléchargez et configurez Microsoft Build Tools 2013 à partir de http://www.microsoft.com/en-US/download/details.aspx?id=40760
la source
Pour compléter les réponses de Kevin et Lex:
Nous avons eu une situation similaire au travail où les développeurs et le serveur de build avaient Visual Studio 2013. Notre solution avait un projet VS 2013 C ++ et était compilée correctement lorsqu'elle était construite sur la machine du développeur ou sur le serveur de build dans l'EDI. Le problème était lors du déclenchement de builds à l'aide de définitions de build TFS. Nous utilisions toujours un ancien modèle de construction (version 11.1) au lieu de 12.0. Heureusement, un simple ajout d'attribut au fichier xaml modèle a résolu le problème. Dans la partie Séquence "Compiler le projet", il y a un nœud xaml qui commence par
Vous pouvez ajouter un attribut "ToolPath" et le pointer vers le bon chemin du MSBuild.exe que vous souhaitez appeler, en fonction de la réponse de Kevin. Par exemple:
la source
Pour ajouter à la réponse de Louis:
Vous pouvez également utiliser l'attribut
ToolVersion="12.0"
si vous utilisez Visual Studio 2013 au lieu d'utiliser l'ToolPath
attribut. Visite détaillée http://msdn.microsoft.com/en-us/library/dd647548.aspxVous n'êtes donc pas obligé d'utiliser un chemin absolu.
la source
J'ai perdu plus de 4 heures à ce sujet.
J'ai Visual Studio 2017 Enterprise , l'un des projets a l'erreur ci-dessous:
Pour résoudre l'erreur ci-dessus, j'ai essayé de tout installer ci-dessous:
Cependant, aucune de ces solutions n'a fonctionné.
Plus tard, installé Visual Studio 2013 Ultimate , puis tout a bien fonctionné.
On dirait que l'ancien Visual Studio est indispensable pour résoudre ce problème.
J'espère que ça aide.
la source
Lorsqu'un projet VS2013 C ++ est ouvert dans VS2015, et qu'il y a des avertissements concernant «Les outils de construction pour la v120 ... ne peuvent pas être trouvés», je dois simplement modifier le fichier .vcxproj et passer
<PlatformToolset>v120</PlatformToolset>
à<PlatformToolset>v140</PlatformToolset>
, et fermer et rouvrir la solution .la source
Dans VS 2012, j'obtenais "SMB2 ne construira pas: Erreur 1 erreur MSB8020: Les outils de builds pour Visual Studio 2010 (Platform Toolset = 'v100') sont introuvables. Pour créer à l'aide des outils de build v100, cliquez sur le menu Projet ou cliquez avec le bouton droit sur la solution, puis sélectionnez «Mettre à jour les projets VC ++ ...». Installez Visual Studio 2010 pour générer à l'aide des outils de génération de Visual Studio 2010. »
Jetant la prudence au vent, j'ai essayé la suggestion: sélectionné la solution dans l'Explorateur de solutions, puis cliqué sur l'élément de menu "Mettre à jour VC ++". Cela a fait quelques mises à jour, puis a commencé une construction qui a réussi.
L'élément de menu "Mettre à jour VC ++" n'apparaît plus dans le menu de solution.
la source
J'ai eu un problème similaire lorsque j'ai supprimé la mise à jour 5 de la communauté VS 2013 et suis passé à l'édition communautaire VS 2015
et le problème acquis dans les projets Windows Phone 8.1 où il se plaignait de ne pas avoir le bon jeu d'outils msbuild et des émulateurs non installés même s'ils le sont.
Je sais que la source du problème était les paramètres de la communauté VS 2013 qui ont été laissés par cette dernière désinstallation qui ont tout gâché pour moi même si le processus de désinstallation s'est déroulé sans problème depuis le panneau de configuration.
J'ai fait de mon mieux pour supprimer tous les fichiers restants, mais il restait toujours quelque chose.
et ce qui ne l'a résolu que pour moi, c'est une nouvelle installation de Windows 10 x64, puis après avoir installé l'édition communautaire VS 2015 et c'est tout !! plus d'erreurs pour moi et l'émulateur wp8.1 fonctionnait bien aussi !!
dans mon cas, je suis maintenant tout à fait sûr que les paramètres d'installation précédents de Visual Studio ont tout gâché pour moi et parce que je n'avais aucun moyen de trouver et d'essayer d'effacer complètement les fichiers et les paramètres de la communauté VS 2013, j'ai dû en payer le prix et réinstaller mon OS.
vous pourrez peut-être éviter la réinstallation du système d'exploitation si vous pouvez trouver un moyen d'effacer complètement les derniers fichiers d'installation de Visual Studio.
PS: n'essayez cette solution (réinstallation du système d'exploitation) qu'après avoir essayé toutes les méthodes possibles d'abord, puis si rien ne fonctionne et alors seulement ... faites cette solution en dernier recours.
la source
Dans VS2013 pour configurer tous les projets afin de corriger les outils de construction, vous pouvez faire un clic droit sur la solution dans l'explorateur de solutions et choisir «Retarget solution». Cela changera tous les programmes (tout ce que vous cochez avec la case à cocher dans la boîte de dialogue ouverte), donc l'erreur aura disparu.
la source
Dans mon cas, j'ai double-cliqué sur un fichier sln Visual 2013 et Visual 2012 s'est ouvert (au lieu de Visual 2013). Tentative de compilation avec Visual 2012, un projet dont le Platform Toolset est défini sur «v120» a affiché l'erreur mentionnée ci-dessus. Cependant, en rouvrant le sln avec Visual 2013, le Platform Toolset a été défini sur «Visual Studio 2013 (v120)» - veuillez noter le nom complet cette fois -, a fait le travail pour moi. Le projet se compile bien maintenant.
la source
J'obtenais la même erreur avec la construction du projet USBView dans VS2015. J'ai supprimé cette erreur en sélectionnant les paramètres de «Platform Toolset» sur «Visual Studio 2015 (v140)» et en cliquant avec le bouton droit sur la solution (dans VS2015) et en sélectionnant «Retarget Solution» et en sélectionnant 10.0.10240.0 dans cette boîte de dialogue.
Il semble qu'il existe également ProjectUpgradeTool de Microsoft qui est supposé convertir des projets plus anciens pour les mettre à niveau vers la version post VS2012 VS, mais je n'ai pas pu localiser cet outil sur ma machine.
Je dois encore corriger une nouvelle erreur de l'éditeur de liens avec l'aide de cela .
la source
J'avais un problème similaire. VS 2015 Community (MSBuild 14) créant une application c ++, souhaitait utiliser les outils VS 2010 (v100). Tout cela a donné à msbuild une option de configuration invalide. Étrange.
Alors, revérifiez toutes ces options et paramètres.
la source
Si vous utilisez des générateurs de type make comme cmake, JUCE, etc., essayez de définir une cible de version VS correcte (2013, 2015, 2017) et régénérez à nouveau la solution .
la source
J'étais confronté au même problème lors de la construction de certains projets.
J'ai utilisé l'IDE de Visual Studio 2015, là, cela fonctionnait bien, mais tout en donnant la construction à partir du script PowerShell, il donnait un ensemble d'outils lié "Les outils de compilation pour la v140 (Platform Toolset = 'v140') ne peuvent pas être trouvés." Erreur
Donc, finalement, il était question de pointer vers l'exe MSBUILD incorrect pour le projet respectif.
Auparavant, je pointais vers $ MSBUILD = "C: \ windows \ Microsoft.NET \ Framework \ v4.0.30319 \ MSBuild.exe
Et la construction a réussi lorsque j'ai mis à jour le script pour qu'il pointe vers $ MSBUILD = "C: \ Program Files (x86) \ MSBuild \ 14.0 \ Bin \ MSBuild.exe"
Par conséquent, pour résoudre le problème, assurez-vous d'utiliser le bon MSBUILD.
la source