Graphique de dépendance des projets Visual Studio

Je migre actuellement une grande solution (~ 70 projets) de VS 2005 + .NET 2.0 vers VS 2008 + .NET 3.5. Actuellement, j’ai VS 2008 + .NET 2.0.

Le problème est que je dois déplacer les projets un par un vers le nouveau framework .NET en veillant à ce qu’aucun projet .NET 2.0 ne fasse référence au projet .NET 3.5. Y at-il un outil qui me donnerait un bon graphique des dépendances du projet?

Avez-vous essayé NDepend? Il va vous montrer les dépendances et vous pouvez également parsingr la facilité d’utilisation de vos classes et méthodes.

Leur site web:

http://ndepend.com

J’avais besoin de quelque chose de similaire, mais je ne voulais pas payer (ou installer) un outil pour le faire. J’ai créé un script PowerShell rapide qui parcourt les références du projet et les crache au format yuml.me friendly à la place:

Function Get-ProjectReferences ($rootFolder) { $projectFiles = Get-ChildItem $rootFolder -Filter *.csproj -Recurse $ns = @{ defaultNamespace = "http://schemas.microsoft.com/developer/msbuild/2003" } $projectFiles | ForEach-Object { $projectFile = $_ | Select-Object -ExpandProperty FullName $projectName = $_ | Select-Object -ExpandProperty BaseName $projectXml = [xml](Get-Content $projectFile) $projectReferences = $projectXml | Select-Xml '//defaultNamespace:ProjectReference/defaultNamespace:Name' -Namespace $ns | Select-Object -ExpandProperty Node | Select-Object -ExpandProperty "#text" $projectReferences | ForEach-Object { "[" + $projectName + "] -> [" + $_ + "]" } } } Get-ProjectReferences "C:\Users\DanTup\Documents\MyProject" | Out-File "C:\Users\DanTup\Documents\MyProject\References.txt" 

Exemple de graphique

Mise à jour: ReSharper depuis la version 8 a intégré la fonctionnalité “Afficher les dépendances du projet” .

ReSharper version <8 a une fonctionnalité interne pour afficher les graphes de dépendance à l'aide du visualiseur yFiles. Voir le manuel rapide au bas du message.

entrer la description de l'image ici

Comment

  1. Installez l’outil yEd d’ ici .
  2. Exécutez VS avec l’argument de ligne de commande /resharper.internal.
  3. Accédez à ReSharper / Internal / Show Dependencies.
  4. Spécifiez les projets que vous souhaitez inclure dans la vue d’ensemble.
  5. Désélectionnez “Exclure les nœuds terminaux …” sauf si vous en avez besoin.
  6. Appuyez sur “Afficher”.
  7. Utiliser la mise en page hiérarchique dans yEd (Alt + Maj + H)
  8. Fournir un retour =)

Vous pouvez obtenir un graphique de dépendance de projet facilement en utilisant Visual Studio 2010 Ultimate, numérisez jusqu’à 5 minutes dans cette vidéo pour voir comment: http://www.lovettsoftware.com/blogengine.net/post/2010/05/27/Architecture-Explorer .aspx

Dans Visual Studio 2010 Ultimate: Architecture | Générer un graphique de dépendance | Par assemblée

J’ai écrit un outil qui pourrait vous aider. VS Solution Dependency Visualizer parsing les dépendances du projet dans une solution et crée un graphique de dépendance à partir de ces informations, ainsi qu’un rapport de texte.

Vous pouvez créer un graphique de dépendance de vos projets dans VS 2010 Ultimate. Architecture Explorer vous permet de parcourir votre solution, de sélectionner les projets et les relations que vous souhaitez visualiser, puis de créer un graphique de dépendance à partir de votre sélection.

Pour plus d’informations, consultez les rubriques suivantes:

Comment: générer des documents graphiques à partir du code : http://msdn.microsoft.com/en-us/library/dd409453%28VS.100%29.aspx#SeeSpecificSource

Comment: rechercher du code à l’aide de l’Explorateur d’architecture : http://msdn.microsoft.com/en-us/library/dd409431%28VS.100%29.aspx

Téléchargement RC : http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=457bab91-5eb2-4b36-b0f4-d6f34683c62a .

Forum Visual Studio 2010 sur les outils de découverte et de modélisation architecturales : http://social.msdn.microsoft.com/Forums/en-US/vsarch/threads

J’avais un problème similaire, mais cela était encore plus compliqué car plusieurs projets faisaient référence à différentes versions du même assemblage.

Pour obtenir un résultat qui inclut des informations sur la version et vérifie les éventuels problèmes de chargement de l’assembly d’exécution, j’ai créé cet outil:

https://github.com/smpickett/DependencyViewer

(lien direct vers la version github: https://github.com/smpickett/DependencyViewer/releases )

Pour compléter la réponse d’eriawan sur les graphiques générés par NDepend, voir les captures d’écran ci-dessous. Vous pouvez télécharger et utiliser l’édition d’essai gratuite de NDepend pendant un certain temps.

Plus d’informations sur le graphique de dépendance de NDepend entrer la description de l'image ici

Plus d’informations sur la masortingce de dépendance NDepend : entrer la description de l'image ici

Disclaimer: Je fais partie de l’équipe d’outils

Vous pouvez créer un graphique agréable des références dans vos projets. J’ai décrit la façon dont je l’ai fait sur mon blog http://www.mellekoning.nl/index.php/2010/03/11/project-references-in-ddd/

Si vous voulez simplement un graphique de dépendance, j’ai trouvé que c’était l’un des moyens les plus propres d’en obtenir un:

Analyseur de dépendance

J’ai créé un petit projet C # en utilisant YUML comme sortie. Le code peut être trouvé ici:

https://github.com/twistedtwig/DotnetProjectDependencyGraphs

La solution Powershell est la meilleure. Je l’ai adapté dans un script bash qui fonctionne sur ma machine (TM):

 #!/bin/bash for i in `find . -type f -iname "*.csproj"`; do # get only filename project=`basename $i` # remove csproj extension project=${project%.csproj} references=`cat $i | grep ' [ $ref ]" done done