2008-09-17 9 views

Antwort

3

Zusätzlich zu NDepend können Sie dieses Add-In auch für Reflector zum Anzeigen des Abhängigkeitsdiagramms für Baugruppen verwenden.

+0

Das Addin wurde genau das, was ich suchte, dank – johnc

2

Sie können einen Abhängigkeitsgraphen von Projekten und Baugruppen in Visual Studio 2010 Ultimate erstellen, indem Verwenden Sie den Architecture Explorer zum Durchsuchen Ihrer Lösung, wählen Sie Projekte und die Beziehungen aus, die Sie visualisieren möchten, und erstellen Sie dann creat e ein Abhängigkeitsdiagramm von Ihrer Auswahl.

Weitere Informationen finden Sie in den folgenden Themen:

Gewusst wie: Generieren Graph Dokumente aus-Code: http://msdn.microsoft.com/en-us/library/dd409453%28VS.100%29.aspx#SeeSpecificSource

Gewusst wie: Verwenden von Code, Architektur Explorer: http://msdn.microsoft.com/en-us/library/dd409431%28VS.100%29.aspx

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

Visual Studio 2010 Architectural Entdeckung & Modellierungstools Forum: http://social.msdn.microsoft.com/Forums/en-US/vsarch/threads

+0

nice stuff, dank – johnc

0

Structure101 das tun kann. Sie können ein Modell nach Assembly und/oder Namespace durchsuchen. Wenn Sie auf eine Abhängigkeit auf einer beliebigen Ebene klicken, erhalten Sie alle Referenzen auf Codeebene, die die Abhängigkeit verursachen. Die .NET-Version ist in der Beta-Version, aber sie ist seit Jahren für andere Sprachen verfügbar, also ist sie sehr ausgereift. Hier ist ein Beispiel Screenshot. alt text http://www.headwaysoftware.com/images/assemblies.jpg

1

Kasse Visual Studio 2010. Siehe Videos

5

ich etwas ähnliches benötigt, wollen aber nicht bezahlen (oder installieren) ein Werkzeug, es zu tun. Ich created a quick PowerShell script that goes through the project references und spuckt sie stattdessen in einem yuml.me freundlich-Format aus:

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" 

Sample Graph

+0

+1 für die Bereitstellung der schnellste Weg zu eine Lösung. In weniger als zwei Minuten habe ich PowerShell hochgefahren, das Skript ausgeführt, die Ausgabe in yuml.me eingefügt und ein Diagramm erstellt. Sehr schön!Übrigens erzeugt der Code in Ihrem verlinkten Blogpost eine etwas sauberere Ausgabe als Ihre abgekürzte Version hier - diese gibt "[project] -> []" 'für Projekte ein, denen Referenzen fehlen. (Es sieht so aus, als ob yuml den gleichen Graphen erzeugt.) –

Verwandte Themen