Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Important
C++/CLI est une technologie conçue pendant les premières années de .NET (2003-2010) et reste prise en charge à des fins de compatibilité. Il convient mieux aux bases de code existantes, en particulier celles qui sont transmises de .NET Framework à .NET Core, ou à la maintenance de systèmes hérités volumineux qui ne peuvent pas évoluer au-delà du .NET Framework.
Bien que C++/CLI soit fiable et robuste, aucun nouveau travail de fonctionnalité n’est planifié au-delà de ce qui est nécessaire pour garantir une fonctionnalité continue. Les développeurs doivent être conscients que l’utilisation de C++/CLI pessimise les langages C++ et .NET, car elles sont limitées par les fonctionnalités de langage et les API disponibles au moment de sa conception, c’est-à-dire avant ISO C++11 et .NET Core. C++/CLI a été conçu en fonction de C++98 et sa norme ECMA n’a pas été mise à jour pour suivre les normes C++ plus récentes depuis C++11. Bien que certaines fonctionnalités de C++11 aient été incorporées, de nombreuses fonctionnalités provenant de normes plus récentes, telles que C++20 et C++23, n’ont aucune prise en charge directe dans C++/CLI pour la compilation vers du code managé. Pour plus d’informations, consultez prise en charge de C++20 À C++/CLI.
Pour les nouveaux projets, nous vous recommandons d’explorer des alternatives tierces modernes telles que https://github.com/dotnet/ClangSharp ou https://www.swig.org/, qui offrent une plus grande flexibilité et un meilleur alignement avec les fonctionnalités de langage et d’exécution actuelles.
C++/CLI a supplanté Managed C++. C++/CLI est une spécification de langage créée par Microsoft qui étend C++ pour prendre en charge .NET. Elle est prise en charge uniquement sur Windows. Il ne s’agit pas d’écrire des applications Windows Runtime (WinRT) pour le WinUI ou la plateforme Windows universelle UWP. Il s’agit de l’écriture d’applications et de composants .NET qui s’exécutent sur .NET. C++/CLI est un pont entre le code C++ natif et le code managé. Il vous permet d’utiliser des bibliothèques C++ existantes dans les applications .NET et d’écrire de nouvelles applications .NET en C++.
Microsoft fournit C++/WinRT pour écrire des applications WinUI et WinRT. Il s’agit d’une projection de langage C++17 moderne entièrement standard pour les API Windows Runtime (WinRT). Pour plus d’informations sur l’utilisation de C++ avec Windows Runtime (WinRT), consultez C++/WinRT.
Par défaut, les projets CLR créés avec Visual Studio 2015 ciblent .NET Framework 4.5.2. Vous pouvez cibler .NET Framework 4.6 lorsque vous créez un projet. Dans la boîte de dialogue Nouveau projet , modifiez l’infrastructure cible dans la liste déroulante située en haut du dialogue. Pour modifier l’infrastructure cible d’un projet existant, fermez le projet, modifiez le fichier projet (.vcxproj) et remplacez la valeur de la version du Framework cible par la version 4.6. Les modifications prennent effet la prochaine fois que vous ouvrez le projet.
Dans Visual Studio 2017, le .NET Framework cible par défaut est 4.6.1. Le sélecteur de version du framework se trouve en bas de la boîte de dialogue Nouveau projet .
Installer la prise en charge de C++/CLI dans Visual Studio 2017
C++/CLI lui-même n’est pas installé par défaut lorsque vous installez une charge de travail Visual Studio C++. Pour installer le composant une fois Visual Studio installé, ouvrez Visual Studio Installer en sélectionnant le menu Démarrer de Windows et en recherchant visual Studio Installer. Choisissez le bouton Modifier en regard de votre version installée de Visual Studio. Sélectionnez l’onglet Composants individuels. Faites défiler jusqu’à la section Compilateurs, outils de génération et runtimes , puis sélectionnez prise en charge de C++/CLI. Sélectionnez Modifier pour télécharger les fichiers nécessaires et mettre à jour Visual Studio.
Dans Visual Studio 2019, le framework cible par défaut pour les projets .NET Core est 5.0. Pour les projets .NET Frameworks, la valeur par défaut est 4.7.2. Le sélecteur de version .NET Framework se trouve sur la page Configurer votre nouveau projet de la boîte de dialogue Créer un projet .
Installer la prise en charge de C++/CLI dans Visual Studio 2019
C++/CLI lui-même n’est pas installé par défaut lorsque vous installez une charge de travail Visual Studio C++. Pour installer le composant une fois Visual Studio installé, ouvrez Visual Studio Installer en sélectionnant le menu Démarrer de Windows et en recherchant visual Studio Installer. Choisissez le bouton Modifier en regard de votre version installée de Visual Studio. Sélectionnez l’onglet Composants individuels. Faites défiler jusqu’à la section Compilateurs, outils de génération et runtimes, puis sélectionnez prise en charge de C++/CLI pour les outils de génération v142 (dernière version). Sélectionnez Modifier pour télécharger les fichiers nécessaires et mettre à jour Visual Studio.
Dans Visual Studio 2022, le framework cible par défaut pour les projets .NET Core est 6.0. Pour les projets .NET Frameworks, la valeur par défaut est 4.7.2. Le sélecteur de version .NET Framework se trouve sur la page Configurer votre nouveau projet de la boîte de dialogue Créer un projet .
Installer la prise en charge de C++/CLI dans Visual Studio 2022
C++/CLI lui-même n’est pas installé par défaut lorsque vous installez une charge de travail Visual Studio C++. Pour installer le composant une fois Visual Studio installé, ouvrez Visual Studio Installer en sélectionnant le menu Démarrer de Windows et en recherchant visual Studio Installer. Choisissez le bouton Modifier en regard de votre version installée de Visual Studio. Sélectionnez l’onglet Composants individuels. Faites défiler jusqu’à la section Compilateurs, outils de génération et runtimes, puis sélectionnez prise en charge de C++/CLI pour les outils de génération v143 (Dernière version). Sélectionnez Modifier pour télécharger les fichiers nécessaires et mettre à jour Visual Studio.
Contenu de cette section
Tâches C++/CLI
Interopérabilité native et .NET
Code pur et vérifiable (C++/CLI)
Expressions régulières (C++/CLI)
Gestion des fichiers et E/S (C++/CLI)
Opérations graphiques (C++/CLI)
Opérations Windows (C++/CLI)
Accès aux données à l’aide de ADO.NET (C++/CLI)
Interopérabilité avec d’autres langages .NET (C++/CLI)
Sérialisation (C++-CLI)
Types managés (C++/CLI)
Réflexion (C++-CLI)
Assemblys de nom fort (signature d’assembly) (C++/CLI)
Classe de débogage (C++/CLI)
Informations de référence sur la bibliothèque STL/CLR
Bibliothèque de prise en charge C++
Exceptions dans C++-CLI
Boxing (C++-CLI)