Contrôle de version du compilateur Microsoft C++ (MSVC)

La version du compilateur Microsoft C++ (MSVC) se compose de quatre champs :

M - version majeure (deux chiffres)
N - version mineure (deux chiffres)
B - version de build (cinq chiffres)
R - version de révision

Les macros spécifiques à Microsoft pour le compilateur encodent ces champs de la manière suivante :

_MSC_VER = MMNN
_MSC_FULL_VER = MMNNBBBBB
_MSC_BUILD = R

Par exemple, la version du compilateur pour Visual Studio 2022 version 17.9.0 est 19.39.33519 :

  • 19 est la version principale
  • 39 est la version secondaire
  • 33519 est la version de build
  • 0 est la version de révision

Les macros reflètent ces valeurs comme suit :

  • _MSC_VER = 1939
  • _MSC_FULL_VER = 193933519
  • _MSC_BUILD (la révision) est 0.

Note

Visual Studio 2019 versions 16.8 et 16.9 partagent les mêmes versions principales et mineures, et ont donc la même valeur pour _MSC_VER. Comme pour Visual Studio 2019 versions 16.10 et 16.11. Pour les distinguer, utilisez _MSC_FULL_VER comme décrit dans Versions de Service à partir de Visual Studio 2017.

canaux Visual Studio

Tous les outils de génération MSVC sont disponibles via le programme d’installation Visual Studio.

Le canal stable de Visual Studio bénéficie de mises à jour mensuelles et inclut les outils de build MSVC les plus récents pris en charge. Le canal Insider de Visual Studio est mis à jour plus ხშირად, afin que vous puissiez essayer plus tôt les prochaines modifications de MSVC. Pour plus d’informations sur le rythme des versions, consultez le rythme des versions de Visual Studio 2026 et les notes de publication de Visual Studio Insiders.

Chaque mise à jour Visual Studio reçoit les mises à jour de tous les ensembles d’outils de génération MSVC :

  • L’ensemble d’outils en préversion reçoit de nouvelles fonctionnalités et correctifs que l’équipe de développement a terminé depuis la mise à jour précédente.
  • Les ensembles d’outils par défaut et plus anciens ne reçoivent que des correctifs de bogues ciblés.

Les utilisateurs de Visual Studio Insiders bénéficient d’un accès anticipé aux versions de MSVC :

  • Sur le canal Insiders, les outils en préversion sont mis à jour environ une fois par semaine.
  • Sur le canal Insiders, de nouveaux ensembles d’outils sont disponibles en tant que candidats à la publication environ un mois avant qu’ils atteignent le canal stable, donnant aux utilisateurs Insiders le temps de valider l’ensemble d’outils et de signaler les problèmes.

Installer des ensembles d’outils MSVC spécifiques

  • Pour installer uniquement l’ensemble d’outils MSVC par défaut, installez la Desktop development with C++ charge de travail.
  • Pour installer l’ensemble d’outils en préversion, exécutez le programme d’installation Visual Studio, puis sélectionnez MSVC Build Tools for <arch> (préversion). Pour plus d’informations, consultez MSVC Build Tools Preview.
  • Pour installer une version 14.5x antérieure encore prise en charge du jeu d’outils, exécutez Visual Studio Installer, ouvrez l’onglet Individual Components et sélectionnez le jeu d’outils 14.5x spécifique.
  • Pour restaurer un ensemble d’outils précédemment installé après une mise à niveau ( par exemple, lorsque la version 14.50 est remplacée par la version 14.51), ajoutez l’ancien ensemble d’outils à partir de l’onglet Composants individuels .
  • Pour installer uniquement les outils de génération sans la IDE Visual Studio complète, utilisez la référence SKU Visual Studio Stable Build Tools.
  • Certains ensembles d’outils hors support (étiquetés (hors support)) peuvent également être disponibles dans le programme d’installation Visual Studio. Ces ensembles d’outils ne reçoivent aucune mise à jour et peuvent être supprimés ultérieurement. Nous vous recommandons vivement de passer à une version prise en charge.

Macros de versionnement

Rappelez-vous que le numéro de version se compose de quatre champs :

M - version majeure (deux chiffres)
N - version mineure (deux chiffres)
B - version de build (cinq chiffres)
R - version de révision

_MSC_VER fait la distinction entre les versions majeures et mineures. Il se présente sous la forme MMNN.

_MSC_FULL_VER représente la version majeure, mineure et de build du compilateur. Il se présente sous la forme : MMNNBBBBB. Utilisez-le pour distinguer les différentes versions du compilateur, y compris les versions de maintenance. Pour plus d’informations sur Visual Studio 2019 versions 16.8, 16.9, 16.10 et 16.11, consultez les versions de Service à partir de Visual Studio 2017.

_MSC_BUILD représente la version de révision du compilateur. Il a la forme suivante : R. Utilisez-le pour faire la distinction entre les révisions du compilateur.

Lorsque la version principale a changé entre Visual Studio 2013 et Visual Studio 2015, _MSC_VER la modification est passée de 1800 à 1900.

Un exemple de modification mineure est de Visual Studio 2022 version 17.1 à Visual Studio 2022 version 17.2. Dans ce cas, _MSC_VER il est passé de 1931 à 1932.

Le tableau suivant répertorie la version Visual Studio qui correspond à chaque compilateur MSVC (_MSC_VER) et à la version de MSVC Build Tools, ainsi que l’état de prise en charge. EOL signifie la fin de vie.

Version de Visual Studio _MSC_VER Version des outils de compilation MSVC Support Plus d’informations
Visual Studio 6.0 1200 6.0 EOL Visual Studio politique de cycle de vie
Visual Studio .NET 2002 (7.0) 1300 7.0 EOL Visual Studio politique de cycle de vie
Visual Studio .NET 2003 (7.1) 1310 7.1 EOL Visual Studio politique de cycle de vie
Visual Studio 2005 (8.0) 1400 8.0 EOL Visual Studio politique de cycle de vie
Visual Studio 2008 (9.0) 1500 9.0 EOL Visual Studio politique de cycle de vie
Visual Studio 2010 (10.0) 1600 10.0 EOL Visual Studio politique de cycle de vie
Visual Studio 2012 (11.0) 1700 11.0 EOL Visual Studio politique de cycle de vie
Visual Studio 2013 (12.0) 1800 12.0 EOL Visual Studio politique de cycle de vie
Visual Studio 2015 (14.0) 1900 14.0 EOL Visual Studio politique de cycle de vie
Visual Studio 2017 RTW (15.0) 1910 14.10 EOL Visual Studio cycle de vie 2017
Visual Studio 2017 version 15.3 1911 14.11 EOL Visual Studio cycle de vie 2017
Visual Studio 2017 version 15.5 1912 14.12 EOL Visual Studio cycle de vie 2017
Visual Studio 2017 version 15.6 1913 14.13 EOL Visual Studio cycle de vie 2017
Visual Studio 2017 version 15.7 1914 14.14 EOL Visual Studio cycle de vie 2017
Visual Studio 2017 version 15.8 1915 14.15 EOL Visual Studio cycle de vie 2017
Visual Studio 2017 version 15.9 1916 14.16 13 avril 2027 Visual Studio cycle de vie 2017
Visual Studio RTW 2019 (16.0) 1920 14.20 EOL Cycle de vie de Visual Studio 2019
Visual Studio 2019 version 16.1 1921 14.21 EOL Cycle de vie de Visual Studio 2019
Visual Studio 2019 version 16.2 1922 14.22 EOL Cycle de vie de Visual Studio 2019
Visual Studio 2019 version 16.3 1923 14.23 EOL Cycle de vie de Visual Studio 2019
Visual Studio 2019 version 16.4 1924 14.24 EOL Cycle de vie de Visual Studio 2019
Visual Studio 2019 version 16.5 1925 14.25 EOL Cycle de vie de Visual Studio 2019
Visual Studio 2019 version 16.6 1926 14.26 EOL Cycle de vie de Visual Studio 2019
Visual Studio 2019 version 16.7 1927 14.27 EOL Cycle de vie de Visual Studio 2019
Visual Studio 2019 version 16.8, 16.9 a 1928 14,28 EOL Cycle de vie de Visual Studio 2019
Visual Studio 2019 version 16.10, 16.11 b 1929 14.29 10 avril 2029 Cycle de vie de Visual Studio 2019
Visual Studio 2022 RTW 17.0 1930 14.30 EOL Cycle de vie de Visual Studio 2022
Visual Studio 2022 version 17.1 1931 14.31 EOL Cycle de vie de Visual Studio 2022
Visual Studio 2022 version 17.2 1932 14.32 EOL Cycle de vie de Visual Studio 2022
Visual Studio 2022 version 17.3 1933 14.33 EOL Cycle de vie de Visual Studio 2022
Visual Studio 2022 version 17.4 1934 14.34 EOL Cycle de vie de Visual Studio 2022
Visual Studio 2022 version 17.5 1935 14.35 EOL Cycle de vie de Visual Studio 2022
Visual Studio 2022 version 17.6 1936 14.36 EOL Cycle de vie de Visual Studio 2022
Visual Studio 2022 version 17.7 1937 14.37 EOL Cycle de vie de Visual Studio 2022
Visual Studio 2022 version 17.8 1938 14.38 EOL Cycle de vie de Visual Studio 2022
Visual Studio 2022 version 17.9 1939 14.39 EOL Cycle de vie de Visual Studio 2022
Visual Studio 2022 version 17.10 1940 14.40 EOL Cycle de vie de Visual Studio 2022
Visual Studio 2022 version 17.11 1941 14.41 EOL Cycle de vie de Visual Studio 2022
Visual Studio 2022 version 17.12 1942 14.42 14 juillet 2026 Cycle de vie de Visual Studio 2022
Visual Studio 2022 version 17.13 1943 14.43 EOL Cycle de vie de Visual Studio 2022
Visual Studio 2022 version 17.14 1944 14.44 13 janvier 2032 Cycle de vie de Visual Studio 2022

Le tableau suivant répertorie les versions des outils de génération MSVC pour Visual Studio 2026 et versions ultérieures. À compter de Visual Studio 2026, le contrôle de version MSVC est découplé du contrôle de version Visual Studio. Les dates EOL (fin de vie) sont définies par la politique de cycle de vie MSVC.

Version des outils de compilation MSVC _MSC_VER Support Date de fin de vie Plus d’informations
14.50 1950 À long terme Novembre 2028 Nouveautés des développeurs C++ dans Visual Studio 2026 version 18.0
14.51 1951 Norme Février 2027 Politique de cycle de vie MSVC
14.52 1952 Norme Aperçuc Politique de cycle de vie MSVC

a Visual Studio 2019 versions 16.8 et 16.9 partagent les mêmes versions principales et mineures (et ont donc la même valeur pour _MSC_VER). Pour les distinguer, utilisez _MSC_FULL_VER. La valeur minimale de _MSC_FULL_VER Visual Studio 2019 version 16.8 est 192829333. La valeur minimale de _MSC_FULL_VER Visual Studio 2019 version 16.9 est 192829910.

b Visual Studio 2019 versions 16.10 et 16.11 partagent les mêmes versions principales et mineures (et ont donc la même valeur pour _MSC_VER). Pour les distinguer, utilisez _MSC_FULL_VER. La valeur minimale de _MSC_FULL_VER Visual Studio 2019 version 16.10 est 192929917. La valeur minimale de _MSC_FULL_VER Visual Studio 2019 version 16.11 est 192930129.

c MSVC Build Tools version 14.52 est en préversion. La date de fin de vie sera définie au moment de la mise à disposition générale.

Un bref historique du contrôle de version du compilateur Microsoft C++

De Visual Studio 6.0 à Visual Studio 2015 (14.0)

  • Pour les versions majeures, _MSC_VER augmente de 100. _MSC_FULL_VER augmente de 10 000 000.

  • Pour les versions mineures, _MSC_VER augmente de 10. _MSC_FULL_VER augmente de 1 000 000.

    Note

    Visual Studio .NET 2003 était considéré comme une version mineure.

Visual Studio 2017 vers Visual Studio 2022

  • Pour les versions majeures, la version mineure augmente de 10.
  • Pour les versions mineures, le numéro de version mineure augmente de 1 à partir de Visual Studio 2017 version 15.3.

Visual Studio 2026 et versions ultérieures

Les outils de build MSVC inclus dans Visual Studio 2026 et les versions ultérieures démarrent à la version 14.50, et _MSC_VER commence à 1950. Une nouvelle version de MSVC — 14.51/1951, 14.52/1952, etc. — sort tous les six mois. La prise en charge suit la politique de cycle de vie MSVC.

Ce système de contrôle de version diffère des versions antérieures de Visual Studio, car le contrôle de version MSVC est désormais distinct de Visual Studio versioning. Cela signifie que la version mineure du compilateur peut rester la même sur plusieurs mises à jour Visual Studio.

À tout moment, le programme d’installation Visual Studio peut offrir plusieurs versions MSVC :

  • Ensemble d’outils d’aperçu avec les dernières modifications
  • Ensemble d’outils par défaut actuel
  • Ensembles d’outils antérieurs qui sont toujours pris en charge

Par exemple, à compter de mai 2026 :

  • 14.52 est l’ensemble d’outils en préversion et obtient des mises à jour régulières des fonctionnalités et des correctifs.
  • 14.51 est l’ensemble d’outils par défaut publié en mai 2026, avec 9 mois de support.
  • 14.50 est l’ensemble d’outils publié en novembre 2025, avec 3 ans de support.

En novembre 2026, nous prévoyons que 14,53 devienne le nouvel ensemble d’outils d’évaluation, 14.52 pour devenir l’ensemble d’outils par défaut, et 14.51 et 14.50 restent pris en charge dans le cadre de la politique de cycle de vie MSVC.

Microsoft changé à ce modèle pour trois raisons :

  • Il réduit le délai entre le développement de fonctionnalités dans MSVC et leur disponibilité en préversion, de plusieurs mois à environ une semaine.
  • Elle maintient le rythme de publication de MSVC aligné sur celui de Visual Studio, ainsi que les versions avec maintenance à long terme alignées sur les versions .NET bénéficiant d’un support à long terme (LTS).
  • Elle réduit la complexité de la maintenance des compilateurs plus anciens.

Versions de service commençant par Visual Studio 2017

Utilisez _MSC_FULL_VER pour distinguer les versions de maintenance. Le champ de build (BBBBB dans le numéro de version MMNNBBBBB) augmente généralement de 1.

Par exemple, _MSC_FULL_VER est utile pour distinguer Visual Studio 2019 version 16.8 de la version 16.9 et Visual Studio 2019 version 16.10 de la version 16.11. Ces versions partagent les mêmes versions principales et mineures, de sorte qu’elles ont la même valeur pour _MSC_VER.

Pour distinguer ces versions, utilisez _MSC_FULL_VER.
La valeur minimale de _MSC_FULL_VER Visual Studio 2019 version 16.8 est 192829333.
La valeur minimale de _MSC_FULL_VER Visual Studio 2019 version 16.9 est 192829910.

Voir aussi

_MSC_VER
Billet de blog de la version du compilateur Visual C++