67 votes

Comment installer (v142) les outils de construction dans Visual studio

Comme j'essaie de construire quelque chose dans le studio visuel alors le studio visuel me montre un certain avertissement et puis si je l'ai ignoré et construit alors l'erreur se produit.

    error MSB8020: The build tools for v142 (Platform Toolset = 'v142') 
    cannot be found. To build using the v142 build tools, please install 
    v142 build tools.

Il me montre également une option alternative que j'ai également essayée mais qui ne fonctionne pas.

    Alternatively, you may upgrade to the current 
    Visual Studio tools by selecting the Project menu or right-click the 
    solution, and then selecting "Retarget solution".

2 votes

Qu'est-ce que it not works C'est-à-dire ? Quelle version de Visual Studio utilisez-vous ? Avez-vous essayé d'installer les outils de construction à partir de Visual Studio Installer ? La version 14.2 est la dernier site version de MSBuild, installée par VS 2019 lui-même si vous sélectionnez l'option "MSBuild". Desktop development with C++ charge de travail

2 votes

Cela signifie que lorsque j'ai appliqué la méthode alternative et que j'ai essayé de construire, la même erreur s'est produite. Version 2017

4 votes

Comme je l'ai dit, 14.2 est une version plus récente, installée avec VS 2019. Vous devrez installer les outils de construction plus récents. Je ne suis pas sûr que VS 2017 puisse déclassement à une version antérieure. Installez VS 2019 sur votre machine ou installez l'application autonome VS 2019. Build Tools for Visual Studio 2019 de la Téléchargements de Visual Studio page

0voto

Nisun Points 1

Cela a fonctionné pour moi : Allez dans le ProjectName.vcxproj et supprimez le build v142 script et remplacez-le par le build script qui correspond à la version de Microsoft Visual Studio que vous utilisez ou supprimez le script et reciblagez votre projet s'il s'agit d'un MVSC mis à jour.

0voto

Après avoir installé la dernière mise à jour de VS2019, j'ai eu exactement le même problème que l'auteur de l'article original, à savoir l'erreur MSB8020 concernant la création d'applications dans VS2017. J'ai utilisé l'application la plus simple de la série qui ne se construisait pas (toutes avec l'erreur ci-dessus), et j'ai utilisé 'Retarget solution', en sélectionnant Windows SDK version 10.0.17763.0. Après cela, j'ai fait une reconstruction et l'application s'est bien construite. J'ai vérifié les propriétés de chaque projet de la solution, et la version du SDK Windows a été modifiée en 10.0.17763.0, comme on pouvait s'y attendre.

Lorsque j'ai ensuite ouvert d'autres applications VS2017, elles se sont toutes construites sans aucune modification (ces applications avaient toutes échoué auparavant). Cependant, les propriétés de leur projet font toujours référence à la version 10.0.14393.0 du SDK, qui est vraisemblablement celle de VS2019. Toutes les applications montrent maintenant "comme par magie" que leur jeu d'outils est Visual Studio 2017 (v141). HTH, même si je n'explique pas pourquoi cela fonctionne.

0voto

Omi Points 36

J'ai eu un problème similaire. J'avais une version d'essai de VS2019 Professional. J'ai travaillé sur quelques projets en l'utilisant, mais j'ai dû ensuite passer à VS2017 Professional (pour lequel j'avais une licence). Donc, dans mon projet, j'ai reciblé le projet pour refléter la nouvelle version (Project -> Retarget solution) et sélectionné Windows SDK Version 10.0.17763.0 (dans mon cas). Après cela, je suis allé à (Project -> Properties) et dans (Configuration Properties -> General -> Platform Toolset) j'ai changé pour Visual Studio 2017 (v141). Cela aurait dû résoudre le problème mais au moment de la construction, j'ai eu l'erreur "error MSB8020 : The build tools for v142 (Platform Toolset = 'v142') cannot be found". Pour résoudre ce problème, j'ai dû ouvrir le fichier .vcxproj dans notepad++.

<PropertyGroup Label="Configuration">
<OutDir>../bin/</OutDir>
<ConfigurationType>Utility</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v142</PlatformToolset>

J'ai changé la dernière ligne de ce bloc de code pour la v141. Il semble que le changement des propriétés du projet ne modifie pas automatiquement le fichier .vcxproj. Après cela, mon projet s'est construit sans aucune erreur.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X