Comment : valider du code .NET par rapport à des diagrammes de couche

Cette rubrique s'applique à :

Visual Studio Ultimate

Visual Studio Premium

Visual Studio Professional

Visual Studio Express

La rubrique s'applique La rubrique s'applique La rubrique ne s'applique pas La rubrique ne s'applique pas

La validation du code par rapport à un diagramme de couche vous aide à appliquer des contraintes architecturales sur le code au fur et à mesure qu'il évolue. Lorsque vous effectuez cette tâche, les dépendances présentes dans le code sont comparées avec les dépendances sur le diagramme. 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. Pour plus d'informations, consultez Comment : créer des diagrammes de couche à partir d'artefacts et Diagrammes de couche : instructions.

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

Avant de pouvoir valider le code, votre solution Visual Studio doit inclure au moins un projet de modélisation possédant un diagramme de couche. Le 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. Vous devez définir ces couches, leur lier des artefacts et décrire les dépendances prévues entre ces artefacts.

Notes

Il existe certains types d'artefacts que vous pouvez lier aux couches mais qui ne prennent pas en charge la validation par rapport au diagramme de couche. Pour voir si l'artefact prend en charge la validation, ouvrez lExplorateur de couches pour examiner la propriété Prend en charge la validation du lien d'artefact. Pour plus d'informations, consultez Artefacts qui ne prennent pas en charge la validation.

Pour plus d'informations sur la manière de créer des diagrammes de couche, consultez les rubriques suivantes :

Pour valider du code C ou C++, téléchargez et installez le Pack de fonctionnalités de visualisation et de modélisation Microsoft Visual Studio 2010.

Pour plus d'informations, consultez Comment : valider le code C et C++ par rapport aux diagrammes de couche.

Dans cette rubrique

  • Ajoutez manuellement des assemblys ou des projets à la validation.

  • Validez manuellement le code à tout moment.

  • Validez automatiquement le code au cours d'une build locale.

  • Validez automatiquement le code au cours d'une build Team Foundation.

  • Résolutions de problèmes liés à la validation de couche.

Ajouter manuellement des assemblys et des projets à la validation

Le dossier Références de couche d'un projet de modélisation contient des références aux assemblys et aux projets analysés pendant la validation. Lorsque vous faites glisser des éléments vers le diagramme de couche, les références aux assemblys ou aux projets correspondants sont ajoutées automatiquement à ce dossier. Vous pouvez également ajouter manuellement des assemblys et des projets à la validation sans les faire glisser vers le diagramme de couche.

Pour ajouter manuellement des assemblys et des projets à la validation

  1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le projet de modélisation ou 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 assemblys ou les projets, puis cliquez sur OK.

Valider manuellement le code à tout moment

Pour valider le code à partir d'un diagramme de couche ouvert

  1. Cliquez avec le bouton droit sur la surface de diagramme, puis cliquez sur Valider l'architecture.

    Notes

    Par défaut, la propriété Action de génération sur le fichier de diagramme de couche (.layerdiagram) a la valeur Valider afin que le diagramme soit inclus dans le processus de validation.

    La fenêtre Liste d'erreurs signale toutes les erreurs qui se produisent. Pour plus d'informations sur les erreurs de validation, consultez Présentation des erreurs de validation de couche.

  2. Pour afficher la source de chaque erreur, double-cliquez sur l'erreur dans la fenêtre Liste d'erreurs.

    Notes

    Visual Studio peut afficher un graphique de dépendance à la place de la source de l'erreur. Cela se produit lorsque le code a une dépendance sur un assembly qui n'est pas spécifié par le diagramme de couche ou lorsqu'une dépendance spécifiée par le diagramme de couche manque dans le code. Examinez le graphique de dépendance ou le code pour déterminer si la dépendance doit exister. Pour plus d'informations sur les graphiques de dépendance, consultez Comment : parcourir des documents de graphique et y accéder.

  3. Pour gérer les erreurs, consultez Gérer les erreurs de validation.

Pour valider le code à partir de l'invite de commandes

  1. Ouvrez l'invite de commandes Visual Studio.

    Pour ouvrir l'invite de commandes, cliquez sur Démarrer, pointez sur Tous les programmes, Microsoft Visual Studio 2010, Visual Studio Tools, puis cliquez sur Invite de commandes de Visual Studio 2010.

  2. Choisissez l'une des valeurs suivantes :

    • Pour valider le code par rapport à un projet de modélisation spécifique dans la solution, exécutez MSBuild avec la propriété personnalisée ci-dessous.

      msbuild <FilePath+ModelProjectFileName>.modelproj
      /p:ValidateArchitecture=true
      

      - ou -

      Accédez au dossier qui contient le fichier du projet de modélisation (.modelproj) et le diagramme de couche, puis exécutez MSBuild avec la propriété personnalisée suivante :

      msbuild /p:ValidateArchitecture=true 
      
    • Pour valider le code par rapport à tous les projets de modélisation dans la solution, exécutez MSBuild avec la propriété personnalisée suivante :

      msbuild <FilePath+SolutionName>.sln /p:ValidateArchitecture=true 
      

      - ou -

      Accédez au dossier de solution, qui doit contenir un projet de modélisation contenant un diagramme de couche, puis exécutez MSBuild avec la propriété personnalisée suivante :

      msbuild /p:ValidateArchitecture=true
      

    Toutes les erreurs qui ont lieu seront répertoriées. Pour plus d'informations sur MSBuild, consultez MSBuild et MSBuild, tâche.

Pour plus d'informations sur la compréhension des erreurs de validation, consultez Présentation des erreurs de validation de couche.

Gérer les erreurs de validation

Pendant le processus de développement, vous pouvez supprimer certains conflits signalés pendant la validation. Par exemple, vous pouvez supprimer des erreurs que vous êtes déjà en train de traiter qui ne sont pas pertinentes dans le cadre de votre scénario spécifique. Lorsque vous supprimez une erreur, il est conseillé d'entrer un élément de travail dans Team Foundation.

Pour créer un élément de travail pour une erreur de validation

  • Dans la fenêtre Liste d'erreurs, cliquez avec le bouton droit sur l'erreur, pointez sur Créer un élément de travail, puis cliquez sur le type d'élément de travail que vous voulez créer.

Utilisez les tâches suivantes pour gérer les erreurs de validation dans la fenêtre Liste d'erreurs :

Pour

Procédez comme suit

Supprimer des erreurs sélectionnées pendant la validation

Cliquez avec le bouton droit sur une ou plusieurs erreurs sélectionnées, pointez sur Gérer les erreurs de validation, puis cliquez sur Supprimer les erreurs.

Les erreurs supprimées apparaissent barrées. Lors de la prochaine validation, ces erreurs ne s'afficheront pas.

Les erreurs supprimées sont suivies dans un fichier .suppressions pour le fichier de diagramme de couche correspondant.

Cesser de supprimer des erreurs sélectionnées

Cliquez avec le bouton droit sur la ou les erreurs supprimées sélectionnées, pointez sur Gérer les erreurs de validation, puis cliquez sur Arrêter la suppression des erreurs.

Les erreurs supprimées qui sont sélectionnées s'afficheront lors de la prochaine validation.

Restaurer toutes les erreurs supprimées dans la fenêtre Liste d'erreurs

Cliquez avec le bouton droit n'importe où dans la fenêtre Liste d'erreurs, pointez sur Gérer les erreurs de validation, puis cliquez sur Afficher les erreurs supprimées.

Masquer toutes les erreurs supprimées de la fenêtre Liste d'erreurs

Cliquez avec le bouton droit n'importe où dans la fenêtre Liste d'erreurs, pointez sur Gérer les erreurs de validation, puis cliquez sur Masquer les erreurs supprimées.

Valider automatiquement le code au cours d'une build locale

Utilisez cette méthode lorsque vous voulez valider automatiquement le code chaque fois que vous exécutez une build locale.

Pour valider le code automatiquement à partir d'une build locale

  • Utilisez un éditeur de texte pour ouvrir le fichier projet de modélisation (.modelproj), puis y inclure la propriété suivante :
<ValidateArchitecture>true</ValidateArchitecture>

- ou -

  1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le projet de modélisation qui contient le ou les diagrammes de couche, puis cliquez sur Propriétés.

  2. Dans la fenêtre Propriétés, affectez à la propriété Valider l'architecture du projet de modélisation la valeur True.

    Cela inclut le projet de modélisation dans le processus de validation.

  3. Dans l'Explorateur de solutions, cliquez sur le fichier du diagramme de couche (.layerdiagram) que vous voulez utiliser pour la validation.

  4. Dans la fenêtre Propriétés, assurez-vous que la propriété Action de génération du diagramme a la valeur Valider.

    Cela inclut le diagramme de couche dans le processus de validation.

Pour plus d'informations sur la compréhension des erreurs de validation, consultez Présentation des erreurs de validation de couche. Pour gérer les erreurs, consultez Gérer les erreurs de validation.

Valider automatiquement le code lors de l'utilisation de Team Foundation Build

Pour empêcher des modifications du code qui entraîneraient des conflits avec la conception prévue, ajoutez la validation de couche aux générations qui s'exécutent à l'aide de Team Foundation Build, ainsi qu'aux archivages contrôlés, que vous pouvez spécifier en créant une tâche MSBuild personnalisée. Utilisez les rapports de build pour collecter les erreurs liées à la validation.

Pour plus d'informations sur Team Foundation Build, consultez les rubriques suivantes :

Pour plus d'informations sur la création de builds d'archivage contrôlé, consultez Définir une build d'archivage contrôlé pour la validation des modifications.

Pour valider le code lorsque vous exécutez Team Foundation Build

  1. Dans Team Explorer, double-cliquez sur la définition de build, puis sur Processus.

  2. Sous Paramètres du processus de génération, développez Compilation, puis tapez le texte suivant dans le paramètre Arguments MSBuild :

    /p: ValidateArchitecture=true

Pour plus d'informations, consultez Définir une build à l'aide du modèle par défaut.

Artefacts qui ne prennent pas en charge la validation

Les artefacts qui ne prennent pas en charge la validation des diagrammes de couche incluent les projets C++, les sites Web, les documents Office et les fichiers texte brut. Vous pouvez lier de tels artefacts aux couches, mais le processus de validation les ignorera. Aucune erreur de validation n'apparaîtra pour des références à des projets ou à des assemblys qui sont liés à des couches distinctes, lorsqu'aucune dépendance n'apparaît entre ces couches. De telles références ne sont pas considérées comme des dépendances à moins que le code utilise ces références.

Pour vérifier si un artefact prend en charge la validation

  1. Sur un diagramme de couche, sélectionnez une ou plusieurs couches, cliquez avec le bouton droit sur votre sélection, puis cliquez sur Afficher les liens.

  2. Dans l'Explorateur de couches, recherchez la colonne Prend en charge la validation .

    Si la valeur False est affectée à un lien d'artefact, cet artefact ne prend pas en charge la validation.

Résolutions de problèmes liés à la validation de couche

Le tableau suivant décrit les problèmes liés à la validation de couche et propose une résolution. Ces problèmes ne sont pas liés aux erreurs qui résultent de conflits entre le code et la conception. Pour plus d'informations sur ces erreurs, consultez Présentation des erreurs de validation de couche.

Problème

Cause possible

Solution

Les erreurs de validation ne se produisent pas comme prévu.

La validation ne fonctionne pas avec les diagrammes de couche copiés à partir d'autres diagrammes de couche dans l'Explorateur de solutions, et ceux se trouvant dans le même projet de modélisation. Les diagrammes de couche copiés de cette façon contiennent les mêmes références que le diagramme de couche d'origine.

  1. Ajoutez un nouveau diagramme de couche au projet de modélisation.

  2. Copiez les éléments depuis le diagramme de couche source vers le nouveau diagramme.

Voir aussi

Concepts

Validation de votre système lors du développement

Autres ressources

Présentation des erreurs de validation de couche