Partager via


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

  1. 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.

  2. 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.

  3. Renommez le projet, puis cliquez sur OK.

    Visual Studio ajoute un nouveau projet de modélisation à la solution.

  4. Veillez à enregistrer le projet de modélisation.

Pour créer un diagramme de couche

  1. Dans le menu Architecture, cliquez sur Nouveau diagramme, puis dans la boîte de dialogue Ajouter un nouveau diagramme, cliquez sur Diagramme de couche.

  2. 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.

  3. 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++.

  4. 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.

  5. 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

  1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le projet de modélisation, puis cliquez sur Ajouter un élément existant.

  2. 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.

  3. 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.

  4. 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 :

  1. Pour compiler les projets, assurez-vous que les éléments suivants sont installés sur le serveur :

    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%.

  2. 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

  3. 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++

  1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le projet de modélisation qui contient le diagramme de couche, puis cliquez sur Ajouter une référence.

    - ou -

    Dans le projet de modélisation, cliquez avec le bouton droit sur le dossier Références de couche, puis cliquez sur Ajouter une référence.

  2. Dans la boîte de dialogue Ajouter une référence, sélectionnez les projets que vous voulez valider, puis cliquez sur OK.

    Les références de projet s'affichent dans le dossier Références de couche.

Importer le fichier .targets personnalisé

  1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le nœud de projet de modélisation, puis sur Décharger le projet.

  2. Cliquez avec le bouton droit sur le nœud du projet de modélisation, puis cliquez sur Modifier NomProjetModélisation.modelproj.

  3. Dans le fichier NomProjetModélisation.modelproj, recherchez l'élément <Import> suivant :

    <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\ArchitectureTools\Microsoft.VisualStudio.TeamArchitect.ModelingProject.targets" />

    Sous cet élément <Import>, ajoutez l'élément <Import> suivant :

    Si Visual Studio 2010 Visualization and Modeling Feature Pack est installé :

    <Import Project="$(LocalAppData)\Microsoft\VisualStudio\10.0\Extensions\Microsoft\<InsertVisualStudioFeaturePackName>\1.0\Microsoft.VisualStudio.Progression.NativeProvider.targets" />

    RemarqueRemarque
    %LocalAppData% est en général NomLecteur:\Users\NomUtilisateur\AppData\Local.Sous Windows XP ou Windows 2003, utilisez %AppData% au lieu de %LocalAppData%.Si le Feature Pack a été installé à un emplacement différent, utilisez cet emplacement à la place.Vous pouvez également copier le fichier Microsoft.VisualStudio.Progression.NativeProvider.targets à partir de l'emplacement d'installation du Feature Pack vers le dossier qui contient le projet de modélisation.

    Si Microsoft Visual Studio 2010 Feature Pack 2 est installé :

    <Import Project="…$\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\<InsertVisualStudioFeaturePackName>\<InsertVisualStudioFeaturePackVersionNumber>\Microsoft.VisualStudio.Progression.NativeProvider.targets" />

  4. Enregistrez le fichier .modelproj et fermez-le.

  5. Cliquez avec le bouton droit sur le nœud du projet de modélisation, puis cliquez sur Recharger le projet.

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 :

  1. 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>

  2. 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 -

  1. Créez une variable d'environnement qui représente le chemin d'installation du fichier Microsoft.VisualStudio.Progression.NativeProvider.dll.

  2. 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.