Grafico delle dipendenze dei progetti di Visual Studio

Attualmente sto migrando una grande soluzione (~ 70 progetti) da VS 2005 + .NET 2.0 a VS 2008 + .NET 3.5. Attualmente ho VS 2008 + .NET 2.0.

Il problema è che ho bisogno di spostare i progetti uno a uno nel nuovo framework .NET assicurando che nessun progetto .NET 2.0 faccia riferimento a un progetto .NET 3.5. C’è uno strumento che mi dia un buon grafico delle dipendenze del progetto?

Hai provato NDepend? Ti mostrerà le dipendenze e potrai anche analizzare l’usabilità delle tue classi e dei tuoi metodi.

Il loro sito web:

http://ndepend.com

Avevo bisogno di qualcosa di simile, ma non volevo pagare (o installare) uno strumento per farlo. Ho creato un rapido script PowerShell che passa attraverso i riferimenti del progetto e li sputa in un formato amico yuml.me invece:

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" 

Grafico di esempio

Aggiornamento: ReSharper dalla versione 8 ha la funzionalità integrata ‘Visualizza dipendenze del progetto’ .

La versione ReSharper <8 ha una funzione interna per mostrare i grafici delle dipendenze nell'uso di yFiles viewer. Vedi manuale rapido nella parte inferiore del post.

inserisci la descrizione dell'immagine qui

Come

  1. Installa lo strumento yEd da qui .
  2. Esegui VS con l’argomento della riga di comando /resharper.internal.
  3. Vai a ReSharper / Interno / Mostra dipendenze.
  4. Specifica i progetti che desideri includere nella “grande immagine”.
  5. Deseleziona ‘Escludi nodes terminali …’ a meno che non ne abbiate bisogno.
  6. Premi “Mostra”.
  7. Usa il layout gerarchico in yEd (Alt + Shift + H)
  8. Fornire feedback =)

È ansible ottenere facilmente un grafico di dipendenza del progetto utilizzando Visual Studio 2010 Ultimate, scansionare fino a 5 minuti in questo video per vedere come: http://www.lovettsoftware.com/blogengine.net/post/2010/05/27/Architecture-Explorer aspx

In Visual Studio 2010 Ultimate: Architecture | Generare il grafico di dipendenza | Per assemblea.

Ho scritto uno strumento che potrebbe aiutarti. VS Solution Dependency Visualizer analizza le dipendenze del progetto all’interno di una soluzione e crea un grafico delle dipendenze da queste informazioni, nonché un report di testo.

È ansible creare un grafico di dipendenza dei progetti in VS 2010 Ultimate. Architecture Explorer consente di esplorare la soluzione, selezionare i progetti e le relazioni che si desidera visualizzare e quindi creare un grafico di dipendenza dalla selezione.

Per maggiori informazioni, vedere i seguenti argomenti:

Procedura: generare documenti grafici dal codice : http://msdn.microsoft.com/en-us/library/dd409453%28VS.100%29.aspx#SeeSpecificSource

Procedura: trovare il codice utilizzando Architecture Explorer : http://msdn.microsoft.com/en-us/library/dd409431%28VS.100%29.aspx

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

Forum di Visual Studio 2010 Architectural Discovery & Modeling Tools : http://social.msdn.microsoft.com/Forums/en-US/vsarch/threads

Ho avuto un problema simile, ma è stato ulteriormente complicato perché diversi progetti facevano riferimento a diverse versioni dello stesso assembly.

Per ottenere un risultato che includa informazioni sulla versione e controlli possibili problemi di caricamento degli assembly di runtime, ho creato questo strumento:

https://github.com/smpickett/DependencyViewer

(collegamento diretto alla versione di github: https://github.com/smpickett/DependencyViewer/releases )

Per completare la risposta eriawan sui grafici generati da NDepend, vedi le schermate di seguito. Puoi scaricare e utilizzare l’edizione di prova gratuita di NDepend per un po ‘.

Maggiori informazioni sul grafico delle dipendenze NDepend inserisci la descrizione dell'immagine qui

Altro sulla matrice delle dipendenze NDepend : inserisci la descrizione dell'immagine qui

Disclaimer: faccio parte del team di strumenti

Puoi creare un bel grafico dei riferimenti nei tuoi progetti. Ho descritto il modo in cui l’ho fatto sul mio blog http://www.mellekoning.nl/index.php/2010/03/11/project-references-in-ddd/

Se vuoi semplicemente un grafico delle dipendenze, ho trovato che questo è uno dei modi più puliti per ottenerne uno:

Analizzatore di dipendenze

Ho creato un piccolo progetto C # usando YUML come output .. il codice può essere trovato qui:

https://github.com/twistedtwig/DotnetProjectDependencyGraphs

La soluzione PowerShell è la migliore. L’ho adattato in uno script bash che funziona sulla mia macchina (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