Partager via


Utiliser le multiciblage natif dans Visual Studio pour générer d’anciens projets

En règle générale, nous vous recommandons de mettre à jour vos projets quand vous installez la dernière version de Visual Studio. Le coût de la mise à jour de vos projets et de votre code est souvent plus que compensé par les avantages de la nouvelle IDE, compilateur, bibliothèques et outils. Toutefois, nous savons que vous ne serez peut-être pas en mesure de mettre à jour certains projets. Vous pouvez avoir des fichiers binaires liés à des bibliothèques ou plateformes plus anciennes qui, pour des raisons de maintenance, ne peuvent pas être mis à niveau. Votre code peut utiliser des constructions de langage non standard qui ne fonctionneraient pas si vous optiez pour un compilateur plus récent. Votre code peut s’appuyer sur des bibliothèques tierces compilées pour une version spécifique de Microsoft C++ (MSVC). Vous pouvez également produire des bibliothèques pour d’autres personnes qui doivent cibler une version plus ancienne spécifique de MSVC.

Heureusement, vous pouvez utiliser Visual Studio pour générer des projets qui ciblent des outils et bibliothèques de build plus anciens. Si vous disposez toujours des outils d’origine installés, vous n’avez pas besoin de mettre à niveau un projet de loin jusqu’à Visual Studio 2010 pour tirer parti des nouvelles fonctionnalités de l’IDE :

  • Nouvelles fonctionnalités de refactorisation C++ et fonctionnalités de l’éditeur
  • Nouvelles fenêtre de débogage Outils de diagnostics et fenêtre Liste d’erreurs
  • Fenêtre de gestion des points d’arrêt et des exceptions revisitée, nouveaux conseils sur les performances
  • Nouveaux outils de navigation et de recherche de code
  • Nouveaux correctifs rapides C++

Vous pouvez également cibler des projets Visual Studio 2008, mais vous ne pouvez pas les utiliser en l’état. Pour plus d’informations, consultez la section Instructions pour Visual Studio 2008.

Les dernières versions de Visual Studio prennent en charge le multiciblage natif et les allers-retours des projets. Le multi-ciblage natif est la capacité du dernier IDE à compiler à l'aide d'outils de build installés par les versions précédentes de Visual Studio. Grâce à la procédure d’aller-retour, la dernière version de l’IDE peut charger les projets créés par une version précédente de l’IDE sans y apporter de modifications. Si vous installez la dernière version de Visual Studio côte à côte avec votre version existante, vous pouvez utiliser la nouvelle version de l’IDE avec le compilateur et les outils de la version existante pour générer vos projets. Les autres membres de votre équipe peuvent continuer à utiliser les projets dans la version antérieure de Visual Studio.

Lorsque vous utilisez une version antérieure des outils de génération, vous pouvez tirer parti de la plupart des dernières fonctionnalités de l’IDE, mais pas les dernières avancées du compilateur C++, des bibliothèques et des outils de génération. Par exemple, vous ne pourrez pas utiliser les nouvelles améliorations de conformité du langage, les nouvelles fonctionnalités de débogage et d’analyse du code, ou obtenir le débit de build plus rapide des derniers outils de génération. Il existe également certaines fonctionnalités IDE incompatibles avec les outils de build plus anciens. Par exemple, les informations de type peuvent être manquantes dans le Profileur de mémoire, et l’opération de refactorisation Convertir en littéraux de chaîne brute génère du code conforme à C++11 qui ne sera pas compilé lorsque vous utilisez Visual Studio 2012 ou des outils de génération plus anciens.

Comment utiliser le multi-ciblage natif dans Visual Studio 2026

Visual Studio 2026 inclut un nouvel Assistant Installation. Vous pouvez charger une solution existante et, dans l’Explorateur de solutions, sélectionnez Retarget solution pour ouvrir l’Assistant. Vous pouvez utiliser l’Assistant pour installer les outils de génération C++ manquants (composants MSVC et sdk Windows) compatibles avec les projets que vous chargez, y compris les outils fournis à l’origine avec les versions antérieures de Visual Studio. Cela vous permet de continuer à travailler avec vos projets existants sans perdre la compatibilité avec votre version précédente de Visual Studio. Plus tard, lorsque vous êtes prêt à effectuer une mise à niveau complète, vous pouvez utiliser l’Assistant pour recibler ces projets vers la dernière version de l’IDE.

Comment utiliser le multi-ciblage natif dans Visual Studio 2010-2022

Une fois que vous avez installé Visual Studio côte à côte avec l’ancienne version, ouvrez votre projet existant dans la nouvelle version de Visual Studio. Quand le projet est chargé, Visual Studio vous demande si vous souhaitez le mettre à niveau pour utiliser les derniers compilateur et bibliothèques C++. Étant donné que vous souhaitez que le projet conserve les anciens compilateur et bibliothèques, choisissez le bouton Annuler.

Visual Studio est persistant quant à la mise à niveau de votre projet. Pour éviter de voir la boîte de dialogue de mise à niveau chaque fois que vous chargez le projet, vous pouvez définir la propriété suivante dans vos projets, ou dans les .props fichiers .targets qu’ils importent :

<VCProjectUpgraderObjectName>NoUpgrade</VCProjectUpgraderObjectName>

Vous devez supprimer cette propriété quand vous souhaitez mettre à niveau vos projets.

Si vous choisissez de ne pas effectuer de mise à niveau, Visual Studio n’apporte aucune modification à vos fichiers projet ou solution. Lorsque vous générez le projet, les fichiers binaires générés sont entièrement compatibles avec ceux que vous avez créés avec l’ancienne version de Visual Studio, car Visual Studio utilise le même compilateur C++ et lie les mêmes bibliothèques que votre IDE plus ancien fourni avec. C’est également pourquoi la boîte de dialogue de mise à niveau vous avertit de conserver l’ancienne version de Visual Studio installée si vous choisissez Annuler.

Instructions pour Visual Studio 2008

Visual Studio 2008 avait son propre système de build dédié pour C++ appelé VCBuild. Dans Visual Studio 2010, les projets Visual Studio C++ ont été modifiés pour utiliser MSBuild. Que vous mettez à niveau définitivement ou multi-ciblage, vous devez passer à une étape de mise à jour pour générer vos projets Visual Studio 2008 dans la dernière version de Visual Studio. Votre projet mis à jour génère toujours des fichiers binaires qui sont entièrement compatibles avec les fichiers binaires créés à l’aide de l’IDE de Visual Studio 2008.

Tout d’abord, outre la version actuelle de Visual Studio, vous devez installer Visual Studio 2010 sur le même ordinateur que Visual Studio 2008. Seul Visual Studio 2010 installe les scripts MSBuild nécessaires au ciblage des projets Visual Studio 2008.

Ensuite, vous devez mettre à jour vos projets et solution Visual Studio 2008 vers la version actuelle de Visual Studio. Nous vous recommandons de créer une sauvegarde de vos projets et de vos fichiers solution avant d’effectuer la mise à niveau. Pour démarrer le processus de mise à niveau, ouvrez la solution dans la version actuelle de Visual Studio. Quand vous obtenez l’invite de mise à niveau, passez en revue les informations présentées, puis choisissez OK pour démarrer la mise à niveau. Si la solution a plusieurs projets, vous devez mettre à jour chaque projet. L’Assistant crée .vcxproj des fichiers projet côte à côte avec les fichiers existants .vcproj . Tant que vous disposez également d’une copie du fichier d’origine .sln , la mise à niveau n’a aucun autre effet sur vos projets Visual Studio 2008 existants.

Remarque

Les étapes suivantes s’appliquent uniquement aux scénarios multi-ciblage. Si vous envisagez de mettre à niveau définitivement le projet vers une version ultérieure des outils de génération, l’étape suivante consiste à enregistrer le projet, à l’ouvrir dans la dernière version de Visual Studio et à résoudre les problèmes de génération qui s’y affichent.

Une fois la mise à niveau terminée, si le rapport de journal contient des erreurs ou des avertissements pour l’un de vos projets, examinez-les attentivement. La conversion de VCBuild vers MSBuild peut entraîner des problèmes. Veillez à comprendre et à implémenter toutes les actions répertoriées dans le rapport. Pour plus d’informations sur le rapport de journal de mise à niveau et les problèmes qui peuvent se produire lors de la conversion de VCBuild en MSBuild, consultez le billet de blog C++ Native Multi-Targeting.

Une fois la mise à niveau terminée et que vous avez résolu tous les problèmes dans le fichier journal, votre solution cible désormais les derniers outils de génération. À l’étape finale, modifiez les propriétés de chaque projet de la solution pour utiliser les outils de génération Visual Studio 2008. Une fois la solution chargée dans la version actuelle de Visual Studio, pour chaque projet dans la solution, ouvrez la boîte de dialogue Pages de propriétés liée au projet : cliquez avec le bouton droit sur le projet dans l’Explorateur de solutions, puis sélectionnez Propriétés. Dans la boîte de dialogue Pages de propriétés, définissez la valeur de la liste déroulante Configuration sur Toutes les configurations. Dans Propriétés de configuration, sélectionnez Général, puis définissez Ensemble d’outils de plateforme sur Visual Studio 2008 (v90).

Après cette modification, le compilateur et les bibliothèques Visual Studio 2008 sont utilisés pour générer les fichiers binaires du projet quand vous générez la solution dans la version actuelle de Visual Studio.

Installer d'anciens outils de compilation Visual Studio

Vous pouvez avoir un ancien projet Visual Studio C++ que vous ne pouvez pas ou ne souhaitez pas mettre à niveau. Pour la générer, vous avez besoin de la version des outils de génération qui correspond à votre projet. Pour obtenir les outils de génération, vous pouvez installer l’édition Gratuite de Visual Studio Community ou Express de la version dont vous avez besoin. Chaque version de Visual Studio depuis Visual Studio 2008 permet d'installer le compilateur, les bibliothèques et d'autres outils de génération nécessaires pour cibler cette version à partir de Visual Studio actuel. Dans le Centre de téléchargement Microsoft, recherchez une version particulière de Visual Studio, puis téléchargez-la. Assurez-vous de choisir les options d’installation C++ pendant l’installation. Une fois l’installation terminée, exécutez cette version de Visual Studio pour installer les mises à jour. En outre, vérifiez si des modifications Windows Update sont requises. Vous pouvez être amené à répéter ce processus de vérification de mise à jour plusieurs fois pour obtenir chaque mise à jour.

Pour connaître les téléchargements actuellement disponibles, consultez Télécharger d’anciennes versions de Visual Studio.

Lorsque ces produits sont installés, la liste déroulante des propriétés de la version des outils de compilation MSVC dans la boîte de dialogue des Pages de propriétés est automatiquement mise à jour pour afficher les versions disponibles des outils de compilation. Dans certains cas, il peut également y avoir de nouveaux choix pour la propriété Platform Toolset . Vous pouvez maintenant utiliser la dernière version de Visual Studio pour générer des projets qui utilisent une version antérieure des outils de génération : aucune conversion ni mise à niveau requise.

Voir aussi

Mise à niveau de projets à partir de versions antérieures de Microsoft C++
Améliorations de la conformité de C++ dans Visual Studio