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

42voto

Anda Points 325

J'ai eu le même problème, mais en essayant d'ouvrir un projet fait en VS2019 avec VS2017, donc j'ai changé ceci dans mon projet :

Aller à : Projet->Propriétés->Général->Platform Toolset et changez à la version actuelle de votre VS.

2 votes

La réponse que vous proposez fonctionnera parfaitement si le PO utilise VS 2019, mais dans un commentaire, le PO indique qu'il utilise VS 2017. Un autre commentaire suggère de passer de VS 2017 à VS 2019. Il semble que votre message ne réponde pas réellement à la question posée.

3 votes

@RichardChambers en fait ce post répond à la question, car build tools v142 signifie que le projet original vient de VS2019. Et le problème est d'ouvrir ce projet en utilisant VS2017. J'ai eu le même problème et cette solution a fonctionné.

1 votes

@MartinVerjans si un projet pour VS2019 a besoin de VS2019 et que vous êtes sur VS2017 et que vous mettez à jour vers VS2019, alors bien sûr cette réponse affichée fonctionnerait. Cependant, si vous êtes sur VS2017 et que vous devez rester sur VS2017 pour une raison quelconque et qu'une mise à niveau n'est pas réalisable, alors cela ne fonctionne pas puisque vous ne pouvez pas mettre à niveau.

29voto

Richard Chambers Points 3586

En résumé, vous devez installer Visual Studio 2019 pour accéder aux outils de la v142.

Parallèlement aux différentes versions de Visual Studio (VS2015, VS2017, VS2019), Microsoft publie également différentes versions de l'outil de construction, car elle continue à améliorer le compilateur et à fournir des capacités supplémentaires, ainsi qu'à répondre aux normes de langage actualisées (C++, C++11, C++17, etc.). Voir Visual Studio 2015 ne détecte pas les outils de construction v141 (2017)

Voir également cet article du blog de Microsoft sur les outils de construction pour VS2017 et l'accès à l'ancienne version v140 à partir de VS2015, Les outils de construction de Visual Studio incluent désormais les jeux d'outils MSVC VS2017 et VS2015. .

Beaucoup d'entre vous nous ont dit qu'ils avaient encore besoin du jeu d'outils MSVC v140 de Visual Studio 2015 pour continuer à construire des bases de code plus anciennes. Nous avons mis à jour les outils de construction de Visual Studio pour inclure les outils v140 de Visual Studio 2015 Update 3, y compris les services les plus récents. la plus récente. Vous pouvez remarquer que la version de construction du jeu d'outils du compilateur peut ne correspond pas à celle d'une installation complète de VS 2015, même s'il s'agit des mêmes compilateurs. même si ce sont les mêmes compilateurs. Cela se produit parce que nous construisons la version complète de Visual Studio et les outils de construction de Visual Studio dans des branches séparées qui peuvent être construites à des jours différents.

La charge de travail des outils de compilation de Visual C++ dans les outils de compilation de Visual Studio installera par défaut le dernier jeu d'outils v141 de VS2017. Le jeu d'outils v140 de VS2015 sera installé en même temps que le jeu d'outils v141. Pour les installer, il suffit de sélectionner l'option "VC++ 2015.3 v140 toolset for desktop (x86,x64)" au bas de la section "Optional".

Dans votre cas, les outils de construction V142 ont été publiés avec VS2019. Il ne semble pas que la v142 soit disponible pour VS2017. Les outils de construction les plus récents pour VS2017 semblent être la v141.

Vous pouvez utiliser le programme d'installation de Visual Studio pour modifier les outils de construction disponibles en les ajoutant ou en les supprimant de la liste. Cette publication de l'OS décrit un problème similaire mais avec l'absence de v140 dans une installation de Visual Studio VS2015. Erreur MSbuild : Les outils de construction pour v140 (Platform Toolset = 'v140') sont introuvables.

Toutefois, si Microsoft n'a pas publié une version particulière de Build Tools pour le Visual Studio que vous utilisez, celle-ci n'apparaîtra pas dans la liste des jeux d'outils disponibles.

Il semble qu'à partir de VS2015, Microsoft fournisse un moteur Visual Studio standard partagé entre VS 2015, VS2017 et VS2019, avec des outils de construction et divers composants mis à jour pour fournir de nouvelles caractéristiques et fonctionnalités et une nouvelle conformité aux normes de langage. Il existe des dépendances entre la version de Visual Studio et les outils de construction et les composants qui peuvent être utilisés avec cette version. Par exemple, la version 142 n'est pas disponible pour VS2017, très probablement pour inciter à l'achat du produit le plus récent.

Lors de l'installation de VS2017 après l'installation de VS2019

Par ailleurs, en faisant quelques recherches sur cette question, j'ai trouvé quelques articles qui indiquent que si vous avez installé une version récente de Visual Studio et que vous installez ensuite une version antérieure de Visual Studio, les outils de construction cibles par défaut peuvent également changer pour les outils de construction de la version antérieure.

En d'autres termes, si vous avez VS2019 avec une cible par défaut de v142 déjà installée et que vous installez ensuite VS2017, la cible par défaut passera à v141, ce qui vous obligera à définir la cible de construction à v142 lorsque vous utiliserez VS2019.

12voto

Simon Mourier Points 49585

J'ai eu le même problème mais je voulais garder le support de Visual Studio 2017, Visual Studio 2019 et Visual Studio 2022 pour construire le même projet.

Ce que j'ai fait, c'est modifier mon .vcxproj qui est un fichier au format MSBuild, comme ceci :

Avant (jeu d'outils 1.42, disponible uniquement avec Visual Studio 2019, échoue avec Visual Studio 2017 et 2022) :

...
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
    ...
    <PlatformToolset>v142</PlatformToolset>
    ...
  </PropertyGroup>
...

Ensuite, chaque version de Visual Studio utilise sa propre version du jeu d'outils :

...
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
    ...
    <PlatformToolset Condition="'$(VisualStudioVersion)' == '15.0'">v141</PlatformToolset>
    <PlatformToolset Condition="'$(VisualStudioVersion)' == '16.0'">v142</PlatformToolset>
    <PlatformToolset Condition="'$(VisualStudioVersion)' == '17.0'">v143</PlatformToolset>
    ...
  </PropertyGroup>
...

6voto

Via_fx_24 Points 69

J'utilise à la fois Visual studio 2017 et visual studio 2019 sur deux ordinateurs différents et j'ai régulièrement des problèmes avec le jeu d'outils de la plateforme.

Sur VS 2019, lorsque j'ouvre une solution/un projet créé avec VS2017, j'ai l'habitude d'aller simplement dans "projets" dans la barre de menu en haut et de choisir "recibler la solution" (cela définit probablement la plate-forme à V142).

au contraire, sur VS 2017, en ouvrant la solution/le projet créé avec VS2019 (plateforme toolset v142),pour qu'il fonctionne, je dois le "downgrader" vers la plateforme v141. Pour cela, je fais un clic droit sur le projet (pas la solution) et je choisis propriétés, puis "général" et je cherche "platform toolset" que j'ai mis à "Visual studio 2017 (v141)" et là je peux à nouveau compiler sans erreur.

the property panel to set the correct platform toolset

4voto

Atish Paul Points 36

Ouvrez Visual Studio, j'utilise (Version 17.1.0). Téléchargez le fichier requis et installez-le.

Go to Tools>Get tools and features

Go to Installation details>Desktop Development with c++ (for windows)

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