|
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
|
Traduction
Source
|
Visualiser des dépendances de code sur les graphiques de dépendance
Projets pris en charge :
-
.NET De projets visual C# et Visual Basic .NET, y compris les applications de mémoire windows, et fichiers d'assembly (.dll ou .exe). -
Projets Visual C++, y compris les applications de mémoire windows, qui ont le code C ou C++ (managé ou natif), les fichiers d'en-tête (.h ou #include), et les fichiers binaires.
Vidéos :
-
Obtenir une vue d'ensemble de votre solution: Dans le menu Architecture , choisissez Générer un graphique de dépendance, Pour la solution. Vous obtenez un graphique qui affiche les assemblys de niveau supérieur. Vous pouvez maintenant explorer ces assemblys en développant les. Déplacez le pointeur de la souris sur un assembly, puis sélectionnez le bouton en forme de chevron (^) lorsqu'il apparaît. Effectuez la même opération pour les espaces de noms, types, des membres continuent d'explorer votre code.
Pour afficher les dépendances entre groupes, choisissez un élément sur le graphique.
Pour plus d'informations, consultez l' Obtenir une vue d'ensemble de votre solution. Vous pouvez également exécuter des analyseurs pour rechercher des problèmes potentiels dans votre code. Consultez Rechercher des problèmes potentiels dans le code des graphiques de dépendance. -
Affichez les dépendances spécifiques dans votre solution: dans Explorateur de solutions, éléments choisis qui vous intéressent. Vous pouvez sélectionner des projets, des références d'assembly, les dossiers, les fichiers, les types, et leurs membres. Pour rechercher un élément spécifique, utilisez la zone de recherche Explorateur de solutions . Dans la barre d'outils Explorateur de solutions , choisissez Créez un document de graphique. - ou - Faites glisser les éléments Explorateur de solutions à un graphique existant.
Conseil
Pour créer un graphique vide, dans le menu Fichier , choisissez Nouveau, Fichier, Document de graphique orienté. Pour comprendre la hiérarchie parente pour vos éléments, maintenez enfoncée la touche CTRL pendant que vous faites glisser des éléments. Vous obtenez un graphique qui affiche les éléments sélectionnés. Vous pouvez maintenant explorer ces éléments en développant les. Déplacez le pointeur de la souris sur un élément, puis sélectionnez le bouton en forme de chevron (^) lorsqu'il apparaît. Pour plus d'informations, consultez l' Affichez les dépendances spécifiques dans votre solution. Vous pouvez également exécuter des analyseurs pour rechercher des problèmes potentiels dans votre code. Consultez Rechercher des problèmes potentiels dans le code des graphiques de dépendance.
Conseil
|
|---|
|
|
-
Avant de générer le graphique pour une solution entière, réduisez la portée de la solution.
Remarque
|
|---|
|
|
-
Affichez les dépendances entre C ou les fichiers sources et les fichiers d'en-tête C++
-
Générer des graphiques pour le traitement par lots à l'aide de GraphCmd.exe
Conseil
|
|---|
|
|
Obtenir une vue d'ensemble de votre solution
-
Dans le menu Architecture , choisissez Générer un graphique de dépendance, Pour la solution. Vous obtenez un graphique qui affiche les assemblys de niveau supérieur et les liens de globales entre eux. L'épaisseur d'un lien global indique le nombre de dépendances individuelles le lien représente. Le groupe Externes contient n'importe quoi à l'extérieur de votre solution, y compris les dépendances de plateforme. Les assemblys externes affichent uniquement les éléments qui sont utilisés.
-
Vous pouvez maintenant explorer ces assemblys en développant les. Déplacez le pointeur de la souris sur un assembly, puis sélectionnez le bouton en forme de chevron (^) lorsqu'il apparaît. (Clavier : Sélectionnez l'élément, puis choisissez la clé plus (+).) Effectuez la même opération pour les espaces de noms, des classes, et les membres continuent d'explorer votre code. -
Pour obtenir plus d'informations sur un élément ou un lien, déplacez le pointeur sur l'élément jusqu'à ce qu'une info-bulle s'affiche. -
Pour examiner des éléments et des dépendances représentées par un lien global, sélectionnez le lien d'abord, puis ouvrez ensuite le menu contextuel. Choisissez Afficher, Liens de contribution dans le diagramme actuel ou Liens de contribution dans un diagramme. Visual Studio développe les groupes aux deux extrémités du lien et affiche uniquement les éléments et dépendances qui participent au lien. Pour afficher les éléments qui existent dans le code mais sont manquants dans un groupe, choisissez Récupérer à nouveau les enfants.
Obtenir une vue d'ensemble des assemblys ou des fichiers binaires
-
créez un graphique vide, ou ouvrez un graphique existant (fichier .dgml). Visual Studio extérieur de la, faites glisser les assemblys ou les binaires au graphique.
Remarque
Vous pouvez faire glisser des assemblys ou des binaires de l'Explorateur Windows uniquement si vous exécutez l'Explorateur Windows et Visual Studio aux mêmes autorisations de (UAC) de contrôle d'accès d'utilisateur au niveau. Par exemple, si le contrôle de compte d'utilisateur est activé, et vous exécuter Visual Studio en tant qu'administrateur, l'Explorateur Windows bloquera l'exécution glissante. Pour contourner ce problème, assurez -vous que Visual Studio exécute en tant qu'administrateur, ou la visite contrôle de compte d'utilisateur désactivé. Notez que dans windows 8, l'Explorateur Windows est l'Explorateur de fichiers. ou -
Dans le menu Architecture , choisissez Fenêtres, Navigateur de l'architecture. -
Dans la première colonne, sous Système de fichiers, choisissez Sélectionner les fichiers. -
Dans la zone Ouvrir , recherchez et sélectionnez les assemblys ou les fichiers binaires. Choisissez Ouvrir pour les ajouter à la colonne suivante dans Navigateur de l'architecture. -
Dans Navigateur de l'architecture, sélectionnez les assemblys ou les fichiers binaires. -
À droite de la colonne qui contient des assemblys ou des fichiers sélectionnés, sélectionnez la colonne d'action réduite pour la développer.
Conseil
La colonne d'action réduite apparaît en surbrillance lorsque vous déplacez le pointeur sur ce dernier. -
Dans la colonne d'action, sous Commandes, choisissez Ouvrir pour générer un graphique de dépendance. Consultez Rechercher du code avec le navigateur de l'architecture.
-
Pour créer un graphique vide
-
Pour ouvrir un nouveau graphique vide sans l'ajouter à votre solution, dans le menu Fichier , choisissez Nouveau, Fichier. ou Pour ajouter un graphique vide au répertoire Éléments de solution dans votre solution, ouvrez le menu contextuel du nœud de solution de niveau supérieur. Choisissez Ajouter, Nouvel élément. -
Sous Installé, choisissez Général. -
Dans le volet droit, sélectionnez Document de graphique orienté. Vous pouvez également ajouter un graphique vide à un projet de modélisation dans le menu Architecture en choisissant Nouveau diagramme.
Affichez les dépendances spécifiques dans votre solution
-
Dans Explorateur de solutions, éléments choisis qui vous intéressent. Vous pouvez sélectionner des projets, des références d'assembly, les dossiers, les fichiers, les types, et leurs membres. Pour rechercher un élément spécifique, utilisez la zone de recherche Explorateur de solutions .
Conseil
Pour rechercher des éléments avec des dépendances sur des types ou des membres, ouvrez le menu contextuel du type ou du membre dans Explorateur de solutions. Choisissez le type de dépendance. L'explorateur de solutions affiche les éléments qui ont une dépendance spécifiée. Sélectionnez les résultats. -
Pour représenter graphiquement vos éléments et leurs membres, dans la barre d'outils Explorateur de solutions , choisissez Créez un document de graphique. ou Pour comprendre la hiérarchie parente sur le graphique, ouvrez la liste Créez un document de graphique… dans la barre d'outils Explorateur de solutions , puis choisissez Nouveau graphique de dépendance avec des ancêtres.
Conseil
Vous pouvez également faire glisser des éléments vers le graphique. D'abord, créez un graphique vide ou ouvrez un graphique existant (fichier .dgml). Pour comprendre la hiérarchie de conteneurs parente, appuyez sur la touche et maintenez la touche CTRL pendant que vous faites glisser des éléments. Vous obtenez un graphique qui affiche les éléments sélectionnés. -
Pour explorer des éléments, vous pouvez développer les. Déplacez le pointeur de la souris sur un élément, puis choisissez le bouton de chevron (^) lorsqu'il apparaît. Pour développer tous les éléments, ouvrez le menu contextuel du graphique. Choisissez Groupe, Développer tout.
Remarque
Cette commande est pas disponible si développer tous les groupes génère des problèmes d'un graphique inutilisable ou de mémoire. -
Pour récupérer des éléments manque d'un groupe, choisissez Récupérer à nouveau les enfants dans le groupe. -
Pour afficher plus d'éléments liés à ceux sur le graphique, ouvrez le menu contextuel pour l'élément. Choisissez Afficher et la relation des éléments qui vous intéressent. Pour un assembly, choisissez : Assemblys référencés
Ajoutez les assemblys qui ce des références d'assembly. Les assemblys externes apparaissent dans le groupe Externes . Référencer des assemblys
Ajoutez les assemblys de la solution qui référencent cet assembly. Pour une classe, choisissez : Basez des types
Pour une classe, ajoutez la classe de base et les interfaces implémentées. Pour une interface, ajoutez les interfaces de base. Types dérivés
Pour une classe, ajoutez des classes dérivées. Pour une interface, ajoutez les interfaces dérivées et les classes ou les structures implémentants. Tous les types de base
Ajoutez la hiérarchie de classe de base ou d'interface de manière récursive. Tous les types dérivés
Pour une classe, ajoutez toutes les classes dérivées de manière récursive. Pour une interface, ajoutez toutes les interfaces dérivées et de l'implémentation des classes ou des structures de manière récursive. Hiérarchie de relation contenant-contenu
Ajoutez la hiérarchie de conteneurs parente. Types utilisés
Ajoutez toutes les classes et leurs membres que cette classe utilise. Utiliser-Par des types
Ajoutez toutes les classes et les membres qui utilisent cette classe. Pour une méthode, choisissez : Hiérarchie de relation contenant-contenu
Ajoutez la hiérarchie de conteneurs parente. Methods appelée
Ajoutez les méthodes qui cette méthode appelle. Appeler-Par des méthodes
Ajoutez les méthodes qui appellent cette méthode. Méthodes substituées dans les types de base
Pour une méthode qui substitue d'autres méthodes ou implémente la méthode d'interface, ajoutez toutes les méthodes virtuelles ou abstraites dans les classes de base qui sont substitués et, le cas échéant, la méthode de l'interface implémentée. Champs référencés
Ajoutez des champs que cette méthode référence. Pour un champ, sélectionnez : Hiérarchie de relation contenant-contenu
Ajoutez la hiérarchie de conteneurs parente. Référencement des méthodes
Ajoutez les méthodes qui font référence à ce champ.
Affichez les dépendances spécifiques dans les assemblys ou les fichiers binaires
-
Dans le menu Architecture , choisissez Fenêtres, Navigateur de l'architecture. -
Dans la première colonne, sous Système de fichiers, choisissez Sélectionner les fichiers. -
Dans la zone Ouvrir , recherchez et sélectionnez les assemblys ou les fichiers binaires. Choisissez Ouvrir pour les ajouter à la colonne suivante dans Navigateur de l'architecture. -
Dans la colonne suivante, sélectionnez les assemblys ou les fichiers binaires. Par défaut, la colonne suivante affiche les éléments contenus dans les éléments sélectionnés.
Conseil
Pour sélectionner d'autres éléments connexes, développez la colonne réduite à droite de la colonne avec vos sélections. Sous Navigation des nœuds, sélectionnez les genres d'éléments qui vous intéressent. Sous Navigation sortante ou Navigation entrante, sélectionnez les genres de relations qui vous intéressent. Consultez Rechercher du code avec le navigateur de l'architecture. -
Recherchez et sélectionnez tous les éléments que vous souhaitez mettre dans le graphique. -
Pour créer un graphique, dans la barre d'outils Navigateur de l'architecture , choisissez Créez un document de graphique de tous les nœuds sélectionnés. Visual Studio crée le graphique et l'ouvre. ou Pour ajouter votre sélection à un graphique, suivez ces étapes : -
Ouvrez le fichier .dgml du graphique, ou créez un graphique vide. -
Dans la barre d'outils Navigateur de l'architecture , choisissez Ajoutez tous les nœuds sélectionnés au document de graphique actuellement visible. ou Faites glisser les éléments Navigateur de l'architecture au graphique.
-
|
Pour voir les dépendances entre |
Procédez comme suit |
|---|---|
|
|
|
|
|
|
Remarque
|
|---|
|
|
Enregistrez et partager le graphique avec d'autres utilisateurs Visual Studio
-
Utilisez le menu Fichier pour enregistrer le graphique. ou Pour enregistrer le graphique dans le cadre de le projet spécifique, ouvrez le menu contextuel pour la surface du graphique. Choisissez Déplacer <DependencyGraphName.dgml> dans et le projet dans lequel vous souhaitez enregistrer le graphique. Visual Studio enregistre le graphique en tant que fichier .dgml que vous pouvez partager avec d'autres utilisateurs Visual Studio finaux, premium de Visual Studio, et Visual Studio professional.
Remarque
Avant de partagiez un graphique avec ceux qui utilisent premium de Visual Studio et le Visual Studio professional, veillez à développer tous les groupes, les nœuds masqués show et liens entre les groupes, et récupérer tous les nœuds supprimés à d'autres pour afficher sur le graphique. Sinon, les autres utilisateurs ne pourront pas afficher ces éléments. L'erreur suivante peut se produire lorsque vous enregistrez un graphique se trouvant dans un projet de modélisation ou ayant été copié à partir d'un projet de modélisation vers un autre emplacement. « Impossible d'enregistrer NomFichier en dehors du répertoire du projet. Les éléments liés ne sont pas pris en charge. » Visual Studio affiche l'erreur, mais crée la version enregistrée d'une manière. Pour éviter cette erreur, créez le graphique en dehors du projet de modélisation. Vous pouvez ensuite l'enregistrer à l'emplacement que vous souhaitez. Le fait de copier le fichier vers un autre emplacement de la solution, puis de tenter de l'enregistrer, ne fonctionnera pas.
Exportez le graphique comme une image vous pouvez le copier dans d'autres applications, telles que Microsoft Word ou PowerPoint
-
Ouvrez le menu contextuel pour la surface du graphique. Choisissez Modifier, Copier l'image. -
Collez l'image dans une autre application.
Exportez le graphique en tant que fichier XPS vous pouvez le voir dans des visionneuses XML ou XAML comme Internet Explorer
-
Ouvrez le menu contextuel de la surface du graphique. Choisissez Enregistrer au format XPS. -
Dans la boîte de dialogue Enregistrer sous , accédez à l'emplacement où vous souhaitez enregistrer le fichier. -
Nommez le graphique. Assurez -vous que la zone Type de fichier a la valeur Classe (XPS *.xps). Choisissez Enregistrer.
Remarque
|
|---|
|
|
GraphCmd -? -all -exceptions -input File_Name -query File_Name -exec "DGQL_Statement" -output File_Name -path alias=path
Conseil
|
|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GraphCmd -output MyGeneratedGraph.dgml -path "MyPathAlias=C:\Program Files\..." |
Alias pour les chemins d'accès fréquemment utilisés
<Paths> <Path Id="MyPathAlias" Value="C:\...\..." /> </Paths>
<Nodes> <Node Id="MyNode" Reference="$(MyPathAlias)MyDocument.txt" /> </Nodes> <Properties> <Property Id="Reference" Label="My Document" DataType="System.String" IsReference="True" /> </Properties>
Fonctionnement du langage DGQL (Directed Graph Query Language)
<node selection> / <action> / <node selection> / <action> / ...
|
* |
|
|
+ "text" |
|
|
+ Id.Equals("text") |
|
|
+ Background.Contains("text") |
|
|
+ "text1" + "text2" + ... |
|
|
+ MyProperty="True" |
|
|
- Label.Contains("text") |
|
|
+ Category.Is("MyCategory") |
|
|
Exemple d'action |
Description |
|---|---|
|
Microsoft.Contains |
|
|
Microsoft.Open |
Remarque
|
|
Microsoft.AllOutBoundLinks |
|
|
Microsoft.AllInboundLinks |
|
|
Microsoft.Core.CreateGroupsByProperties |
|
|
Microsoft.AllNodes |
|
|
Type |
Description |
|---|---|
|
Node:Both:Category |
|
|
Link:Both:Category |
|
|
Link:Backward:Category |
|
|
Link:Forward:Category |
|
Conseils
-
En général, une action « par défaut » est définie pour un ensemble donné de nœuds d'entrée ; celle-ci est automatiquement sélectionnée par le Navigateur de l'architecture. Pour obtenir le même comportement, utilisez une action vide : // -
Comme l'espace blanc n'est pas significatif en langage DGQL, vous pouvez mettre en forme votre requête de telle sorte qu'elle tienne sur une seule ligne si nécessaire. Cela s'avère utile lorsque vous utilisez l'option –exec avec GraphCmd. -
Lorsque vous déboguez du code DGQL, utilisez l'action "Execute Expanded" dans le Navigateur de l'architecture pour afficher chaque étape de la requête et repérer l'étape qui ne produit pas les résultats attendus.
Exemple
+ Id.Equals("Microsoft.Solution.ClassView") / "Microsoft.Solution.ClassView" / * / "Node:Both:CodeSchema_Class" / + CodeSchemaProperty_IsPublic.Equals("True")
Sélectionnez le nœud Affichage de classes dans la première colonne Navigateur de l'architecture. Exécutez l'action « Microsoft.Solution.ClassView", qui retourne tous les espaces de noms dans la solution. Utilisez * pour sélectionner tous les espaces de noms. Sélectionnez tous les nœuds de catégorie CodeSchema_Class, associés à ces espaces de noms par un lien dans un sens ou dans l'autre. Ce seront généralement des liens de relation contenant-contenu. Filtrez les classes résultantes pour ne conserver que celles qui possèdent la propriété CodeSchemaProperty_IsPublic="True".
+Id.Equals("Microsoft.Solution.ClassView")//*/"Node:Both:CodeSchema_Class"/+CodeSchemaProperty_IsPublic.Equals("True")
-
Les types de base n'apparaissent pas sur les graphiques qui incluent la hiérarchie parente. -
La plupart des éléments de menu Afficher sont pas disponibles pour le code C et C++.
|
Problème |
Causes possibles |
Résolution |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|