Comment : valider le code C et C++ par rapport aux diagrammes de couche
Ce Feature Pack Visual Studio 2010 vous permet d'appliquer des contraintes architecturales au code C et C++ dans Visual Studio 2010 Ultimate à mesure que le code évolue. Pour effectuer cette tâche, exécutez la validation de couche régulièrement pour comparer les dépendances du code aux dépendances sur un diagramme de couche. Un diagramme de couche décrit l'architecture du système et organise les espaces de noms, les projets et autres artefacts en groupes logiques et abstraits, appelés couches. Ces couches décrivent les composants majeurs du système ou les tâches que ces artefacts effectuent. Pour créer un diagramme de couche pour le code C ou C++, suivez les mêmes étapes que pour le code .NET. Pour plus d'informations, consultez Comment : créer des diagrammes de couche à partir d'artefacts et Packs de fonctionnalités Visual Studio.
Notes
Vous devez installer un pack Visual Studio 2010 Feature Pack pour utiliser cette fonctionnalité.
Pour les fichiers binaires, la validation de couche est exécutée uniquement au niveau binaire. Bien que vous puissiez lier d'autres types d'artefacts à un diagramme de couche, la validation de couche analyse uniquement les dépendances au niveau binaire.
La validation de couche peut également vous aider dans le cadre des tâches suivantes :
Visualiser les différences entre le code existant et sa conception attendue.
Rechercher le code qui n'est pas organisé comme prévu ou qui possède des dépendances non voulues.
Rechercher des dépendances qui peuvent être affectées par les modifications proposées.
Par exemple, vous pouvez modifier le diagramme de couche pour afficher les modifications apportées à l'architecture potentielle, puis valider le code afin de consulter les dépendances concernées.
Refactoriser ou migrer le code vers une conception différente.
Rechercher le code ou les dépendances qui requièrent encore du travail lorsque vous déplacez le code vers une architecture différente.
Cette rubrique décrit les exigences qui doivent être satisfaites avant d'exécuter la validation de couche sur le code C ou C++.
Spécifications
Assurez-vous que Visual C# est installé avec Visual Studio.
Créer un projet de modélisation avec un diagramme de couche
Pour valider des dépendances de fichier binaire, ajoutez les fichiers binaires au projet de modélisation.
Pour valider des projets C et C++ sur Team Foundation Build, consultez Configuration requise pour Team Foundation Build.
Une fois ces exigences satisfaites, vous pouvez suivre les mêmes étapes que pour le code .NET. Pour connaître ces étapes, consultez Comment : valider du code .NET par rapport à des diagrammes de couche. Pour connaître les problèmes relatifs aux projets de modélisation et aux diagrammes de couche créés à partir du code C ou C++, consultez Résolution des problèmes.
Créer un projet de modélisation avec un diagramme de couche
La solution Visual Studio doit inclure un projet de modélisation comportant un diagramme de couche.
Pour créer un projet de modélisation
Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le nœud de solution de niveau supérieur, pointez sur Ajouter, puis cliquez sur Nouveau projet.
Dans la boîte de dialogue Ajouter un nouveau projet, sous Modèles installés, cliquez sur Projets de modélisation, puis sur Projet de modélisation.
Renommez le projet, puis cliquez sur OK.
Visual Studio ajoute un nouveau projet de modélisation à la solution.
Veillez à enregistrer le projet de modélisation.
Pour créer un diagramme de couche
Dans le menu Architecture, cliquez sur Nouveau diagramme, puis dans la boîte de dialogue Ajouter un nouveau diagramme, cliquez sur Diagramme de couche.
Renommez le diagramme, sélectionnez le projet de modélisation, puis cliquez sur OK.
Visual Studio ajoute un diagramme de couche vide au projet de modélisation, puis affiche le diagramme.
Dans l'Explorateur de solutions, faites glisser au moins un projet C ou C++ vers la surface du diagramme de couche.
- ou -
Dans le Navigateur de l'architecture, faites glisser au moins un binaire vers la surface du diagramme de couche.
L'exécution de l'une ou l'autre de ces étapes ajoutera aussi automatiquement les éléments suivants au projet de modélisation :
Références de projet au projet de modélisation.
Élément <Import> du fichier de projet de modélisation (.modelproj) qui importe un fichier .targets personnalisé et active la validation de couche pour le code C ou C++.
Définissez d'autres couches, liez des artefacts à celles-ci et décrivez les dépendances prévues entre ces artefacts.
Pour plus d'informations, consultez Comment : créer des diagrammes de couche à partir d'artefacts et Diagrammes de couche : instructions.
Veillez à enregistrer le projet de modélisation.
Important
Si vous enregistrez uniquement le diagramme de couche, mais pas le projet de modélisation, puis fermez la solution, vous devez ajouter les références de projet C ou C++ et importer manuellement le fichier .targets personnalisé pour le projet de modélisation. Pour plus d'information, consultez la section Résolution des problèmes.
Important
Lorsque vous créez un diagramme de couche à partir du code C ou C++ dans Visual Studio 2010 Ultimate sous Windows XP ou Windows 2003, un chemin d'accès absolu est utilisé pour créer l'entrée dans le fichier de projet de modélisation (.modelproj) afin d'importer le fichier Microsoft.VisualStudio.Progression.NativeProvider.targets personnalisé. Cela peut provoquer des problèmes si vous essayez d'ouvrir la solution sur Windows 7, Windows Vista ou Windows Server 2008. Si vous exécutez Visual Studio 2010 Ultimate sur Windows XP ou Windows 2003, vous ne pouvez pas ouvrir les diagrammes de couche créés dans Visual Studio 2010 Ultimate sur Windows 7, Windows Vista ou Windows Server 2008. Pour résoudre ce problème, consultez Résolution des problèmes.
Ajouter les fichiers binaires au projet de modélisation
Si vous souhaitez valider des dépendances de fichier binaire, vous devez ajouter manuellement au projet de modélisation les fichiers binaires que vous souhaitez valider. Ils ne sont pas ajoutés automatiquement lorsque vous les faites glisser sur le diagramme de couche.
Pour ajouter des fichiers binaires au projet de modélisation
Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le projet de modélisation, puis cliquez sur Ajouter un élément existant.
Dans la boîte de dialogue Ajouter un élément existant, naviguez jusqu'aux fichiers binaires, sélectionnez-les, puis cliquez sur OK.
Les fichiers binaires s'affichent dans le projet de modélisation.
Dans l'Explorateur de solutions, cliquez sur un fichier binaire que vous avez ajouté, puis appuyez sur F4 pour ouvrir la fenêtre Propriétés.
Sur chaque fichier binaire, affectez à la propriété Action de génération la valeur Valider.
Configuration requise pour Team Foundation Build
Pour valider des projets C et C++ sur le serveur Team Foundation Build, vous devez suivre ces étapes :
Pour compiler les projets, assurez-vous que les éléments suivants sont installés sur le serveur :
L'un des logiciels suivants : Visual C++ 2010 Express, Visual Studio 2010 Professional, Visual Studio 2010 Premium ou Visual Studio 2010 Ultimate
Conseil
Si Visual Studio 2010 Ultimate est installé sur le serveur, vous pouvez installer le Feature Pack sur le serveur au lieu d'exécuter les étapes 2 et 3. Sinon, si le dossier ...\<InsérerNomFeaturePackVisualStudio>\<InsérerNuméroVersionFeaturePackVisualStudio> n'existe pas sur le serveur, vous devrez peut-être le créer. À moins que vous ayez installé le Feature Pack à un emplacement différent, %LocalAppData% est généralement au format NomLecteur:\Users\NomUtilisateur\AppData\Local. Sous Windows XP ou Windows 2003, utilisez %AppData% au lieu de %LocalAppData%.
Si Visual Studio 2010 Visualization and Modeling Feature Pack est installé :
Copiez le fichier Microsoft.VisualStudio.Progression.NativeProvider.targets à partir de l'emplacement d'installation du Feature Pack suivant vers le même emplacement sur le serveur :
%LocalAppData%\Microsoft\VisualStudio\10.0\Extensions\Microsoft\<InsérerNomFeaturePackVisualStudio>\1.0
Si Microsoft Visual Studio 2010 Feature Pack 2 est installé :
Copiez le fichier Microsoft.VisualStudio.Progression.NativeProvider.targets à partir de l'emplacement d'installation du Feature Pack suivant :
…\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\<InsérerNomFeaturePackVisualStudio>\<InsérerNuméroVersionFeaturePackVisualStudio>
vers l'emplacement suivant sur le serveur :
…\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\Microsoft\Modeling\<InsérerNomFeaturePackVisualStudio>\1.0
Copiez le fichier Microsoft.VisualStudio.Progression.NativeProvider.dll à partir de l'un des emplacements d'installation du Feature Pack suivants, selon la version du pack que vous avez installée :
Visual Studio 2010 Visualization and Modeling Feature Pack : %LocalAppData%\Microsoft\VisualStudio\10.0\Extensions\Microsoft\<InsérerNomFeaturePackVisualStudio>\1.0
Visual Studio 2010 Feature Pack 2 : …\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\<InsérerNomFeaturePackVisualStudio>\<InsérerNuméroVersionFeaturePackVisualStudio>
vers l'emplacement du serveur suivant :
…\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\Providers
Dépannage
Si vous enregistrez uniquement le diagramme de couche, mais pas le projet de modélisation, puis fermez la solution, vous devez ajouter les références de projet C ou C++ et importer manuellement le fichier .targets personnalisé pour le projet de modélisation en procédant comme suit :
Pour |
Procédez comme suit |
---|---|
Ajouter les références de projet C ou C++ |
|
Importer le fichier .targets personnalisé |
|
Lorsque vous créez un diagramme de couche à partir du code C ou C++ dans Visual Studio 2010 Ultimate sous Windows XP ou Windows 2003, un chemin d'accès absolu est utilisé pour créer l'entrée dans le fichier de projet de modélisation (.modelproj) afin d'importer le fichier Microsoft.VisualStudio.Progression.NativeProvider.targets personnalisé. Cela peut provoquer des problèmes si vous essayez d'ouvrir la solution sur Windows 7, Windows Vista ou Windows Server 2008. Si vous exécutez Visual Studio 2010 Ultimate sur Windows XP ou Windows 2003, vous ne pouvez pas ouvrir les diagrammes de couche créés dans Visual Studio 2010 Ultimate sur Windows 7, Windows Vista ou Windows Server 2008.
Pour résoudre ce problème, utilisez l'une de ces solutions de contournement :
Copiez le fichier Microsoft.VisualStudio.Progression.NativeProvider.targets de l'emplacement suivant vers le dossier qui contient le projet de modélisation :
Si Visual Studio 2010 Visualization and Modeling Feature Pack est installé :
%LocalAppData%\Microsoft\VisualStudio\10.0\Extensions\Microsoft\<InsérerNomFeaturePackVisualStudio>\1.0
Conseil
À moins que vous ayez installé le Feature Pack à un emplacement différent, %LocalAppData% est généralement au format NomLecteur:\Users\NomUtilisateur\AppData\Local. Sous Windows XP ou Windows 2003, utilisez %AppData% au lieu de %LocalAppData%.
Si Microsoft Visual Studio 2010 Feature Pack 2 est installé :
…\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\<InsérerNomFeaturePackVisualStudio>\<InsérerNuméroVersionFeaturePackVisualStudio>
Dans le fichier .modelproj, mettez à jour l'élément <Import> pour le fichier .targets en remplaçant le chemin d'accès absolu par un chemin d'accès relatif pour le fichier .targets. Par exemple :
<Import Project="Microsoft.VisualStudio.Progression.NativeProvider.targets" />
Important
Si vous utilisez le contrôle de version, vous devez archiver le fichier .targets dans le contrôle de version.
- ou -
Créez une variable d'environnement qui représente le chemin d'installation du fichier Microsoft.VisualStudio.Progression.NativeProvider.dll.
Utilisez cette variable pour importer le fichier .targets.
Par exemple, vous pouvez créer une variable d'environnement telle que "NativeProviderTargetPath" qui pointe sur l'emplacement du fichier .targets. Vous pouvez ensuite mettre à jour l'élément <Import> comme suit :
<Import Project="$(NativeProviderTargetPath)\Microsoft.VisualStudio.Progression.NativeProvider.targets" />
Important
Veillez à définir correctement la variable d'environnement sur les différents systèmes d'exploitation.
Voir aussi
Tâches
Comment : créer des diagrammes de couche à partir d'artefacts
Comment : valider du code .NET par rapport à des diagrammes de couche
Concepts
Diagrammes de couche : instructions
Historique des modifications
Date |
Historique |
Motif |
---|---|---|
Décembre 2010 |
Mis à jour pour Microsoft Visual Studio 2010 Feature Pack 2. |
Améliorations apportées aux informations. |