web-dev-qa-db-fra.com

Les outils de compilation pour la v120 (Platform Toolset = 'v120') sont introuvables.

En utilisant Visual Studio 2012 sur Windows 8 x64 Cela est dû au fait que msbuild a été déplacé dans .net mais je n'ai pas encore vu comment le réparer.

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.
99
clienthax

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

Vous utilisez Visual C++ 2012 qui est v110. v120 signifie Visual C++ 2013.

Vous devez donc modifier les paramètres du projet pour utiliser le jeu d’outils v110 ou installer Visual Studio 2013 sur cette machine et utiliser VS2013 pour le compiler.

71
Lex Li

Si vous avez installé VS2013 et obtenez cette erreur, il est possible que vous appeliez le mauvais MSBuild. Avec VS2013, Microsoft inclut désormais MSBuild dans Visual Studio. Voir cet article de blog Visual Studio pour plus de détails.

Notez en particulier le nouvel emplacement des fichiers binaires:

Sur les machines 32 bits, ils peuvent être trouvés dans: C:\Program Fichiers\MSBuild\12.0\bin

Sur les machines 64 bits, les outils 32 bits seront sous: C:\Program Files (x86)\MSBuild\12.0\bin

et les outils 64 bits sous: C:\Program Files (x86)\MSBuild\12.0\bin\AMD64

MSBuild dans %WINDIR%\Microsoft.NET\Framework\ ne semble pas reconnaître le jeu d'outils de la plate-forme VS2013 (v120).

82
Kevin Richardson

si vous utilisez Visual 2012 Cliquez avec le bouton droit de la souris sur le nom du projet -> Propriétés -> Propriétés de configuration -> Général -> Jeu d'outils de la plateforme -> Visual Studio 2012 (v110)

66
sara

Téléchargez et installez Microsoft Build Tools 2013 à partir du http://www.Microsoft.com/en-US/download/details.aspx?id=40760

14
Kim Ki Won

Pour ajouter aux réponses de Kevin et Lex:

Nous avons eu une situation similaire au travail où les développeurs et le serveur de génération avaient Visual Studio 2013. Notre solution comportait un projet C++ VS 2013 et était parfaitement compilée lorsqu'elle était construite sur la machine du développeur ou sur le serveur de construction de l'EDI . C'était lors du déclenchement des constructions à l'aide des définitions de construction TFS. Nous utilisions toujours un ancien modèle de construction (version 11.1) au lieu de 12.0. Heureusement, un simple attribut ajouté au fichier modèle xaml a résolu le problème . Dans la partie Séquence "Compiler le projet", il existe un nœud xaml qui commence par 

mtbwa:MSBuild CommandLineArgument=....

Vous pouvez ajouter un attribut "ToolPath" et le diriger vers le chemin correct du fichier MSBuild.exe que vous souhaitez appeler, en fonction de la réponse de Kevin. Par exemple:

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

Pour ajouter à Louis répondre:

Sinon, vous pouvez utiliser l'attribut ToolVersion="12.0" si vous utilisez Visual Studio 2013 au lieu d'utiliser l'attribut ToolPath. Détails, visitez http://msdn.Microsoft.com/en-us/library/dd647548.aspx

Donc, vous n'êtes pas obligé d'utiliser le chemin absolu.

4
kbisang

Lorsqu'un projet C++ VS2013 est ouvert dans VS2015 et qu'il existe des avertissements sur le problème suivant: "Les outils de génération de la v120 ... sont introuvables", je dois simplement modifier le fichier .vcxproj et modifier le code <PlatformToolset>v120</PlatformToolset> en <PlatformToolset>v140</PlatformToolset>, puis le fermer et le rouvrir. la solution.

3
Dennis Schulze

Dans VS 2012, je recevais le message "SMB2 ne construira pas: erreur 1, erreur MSB8020: les outils de génération pour Visual Studio 2010 (Platform Toolset = 'v100') sont introuvables. Pour créer à l'aide des outils de génération v100, cliquez sur le menu Projet. ou cliquez avec le bouton droit de la souris 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 Visual Studio 2010. "

En faisant preuve de prudence, j'ai essayé la suggestion suivante: sélectionner la solution dans l'Explorateur de solutions, puis cliquer sur l'élément de menu "Mettre à jour VC++". Cela a fait quelques mises à jour et ensuite commencé une construction qui a réussi 

L'élément de menu "Update VC++" n'apparaît plus dans le menu de la solution.

1
Tristan Fabrini

j'ai eu un problème similaire lorsque j'ai supprimé VS 5 Community Update 5 et suis passé à VS 2015 Community Edition.

et le problème rencontré dans les projets Windows Phone 8.1 où il s’est plaint de ne pas avoir le bon ensemble d’outils msbuild et des émulateurs non installés, même s’ils le sont.

je sais que le problème provient des paramètres de la communauté VS 2013 qui ont été laissés par cette dernière désinstallation, ce qui a tout gâché pour moi, même si la procédure de désinstallation s'est bien déroulée sans aucun 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 fait que le réparer pour moi, c’est une nouvelle installation de Windows 10 x64 puis, après cela, j’ai installé VS 2015 community edition et le tour est joué! pas plus d'erreurs pour moi et l'émulateur wp8.1 a bien fonctionné aussi !!

dans mon cas maintenant, je suis tout à fait sûr que les paramètres d'installation de Visual Studio précédents ont tout gâché pour moi et parce qu'il n'y avait aucun moyen de trouver et d'essayer d'effacer complètement les fichiers et les paramètres de la communauté VS 2013, je devais en payer le prix et réinstaller mon OS.

vous pourrez peut-être éviter de réinstaller le système d'exploitation si vous parvenez à effacer complètement les derniers fichiers d'installation de visual studio.

P.S: essayez uniquement cette solution (réinstallation du système d'exploitation) après avoir essayé tous les moyens possibles, puis si rien ne fonctionne et seulement ensuite ... utilisez cette solution en dernier recours.

1
Joseph

Si vous utilisez des générateurs tels que cmake, JUCE, etc. , essayez de définir une cible de version VS correcte (2013, 2015, 2017) et régénérez la solution à nouveau.

0
DenisKolodin

Je faisais face au même problème lors de la construction de certains projets. 

J'ai utilisé Visual Studio 2015 IDE, mais tout fonctionnait correctement, mais lors de la création du script PowerShell, il donnait un jeu d'outils associé. Erreur

Donc, finalement, il a été question de pointer vers MSBUILD exe 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:\Fichiers de programme (x86)\MSBuild\14.0\Bin\MSBuild.exe"

Par conséquent, pour résoudre le problème, assurez-vous d'utiliser MSBUILD correct.

0
Sagar Mahewar

J'avais un problème similaire. VS 2015 Community (MSBuild 14) créant une application c ++ souhaitait utiliser les outils VS 2010 (v100). Tout est arrivé, donnant à msbuild une option de configuration non valide. Étrange.

Alors, revérifiez toutes ces options et paramètres.

0
Jahmic

Nous avons perdu plus de 4 heures à ce sujet.

J'ai Visual Studio 2017 Enterprise, l'un des projets contient l'erreur ci-dessous:

Les outils de compilation pour la v120 (Platform Toolset = 'v120') sont introuvables.

Installé tout ci-dessous:

Aucun de ce qui précède n'a fonctionné.

Installé Visual Studio 2013 Ultimate.

C'est tout. tout a bien fonctionné.

On dirait que l'ancien studio Visual est indispensable pour résoudre ce problème.

J'espère que ça aide.

0

Dans mon cas, j'ai double-cliqué sur un fichier sln Visual 2013 et Visual 2012 est ouvert (au lieu de Visual 2013). En essayant de compiler avec Visual 2012, un projet dont le jeu d'outils de plate-forme est défini sur "v120" a présenté l'erreur mentionnée ci-dessus. Cependant, lors de la réouverture du sln avec Visual 2013, Platform Toolset a été défini sur "Visual Studio 2013 (v120)" - veuillez noter le nom complet cette fois-ci -, a en fait fait le travail pour moi. Le projet se compile bien maintenant.

0
user1787252

Dans VS2013 pour configurer tous les projets afin de corriger les outils de génération, vous pouvez cliquer avec le bouton droit de la souris sur la solution dans l'explorateur de solutions et choisir "Solution de retarget". Cela modifiera tous les programmes (tout ce que vous aurez coché avec la case à cocher dans la boîte de dialogue ouverte), de sorte que l'erreur disparaîtra.

0
daniel.bavrin

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 "Platform Toolset" pour "Visual Studio 2015 (v140)", puis en cliquant avec le bouton droit de la souris sur la solution (dans VS2015), en sélectionnant "Solution de retarget" 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 les projets plus anciens en systèmes de mise à niveau post-VS2012, 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 this .

0
zar