2008-09-17 15 views

答えて

3

NDependに加えて、アセンブリ依存グラフを表示するためにこのアドインをReflectorとして試すこともできます。

+0

をアドインが、私が探していたまさにでした、ありがとう – johnc

2

の一部ですアーキテクチャエクスプローラを使用してソリューションをブラウズし、ビジュアル化するプロジェクトと関係を選択してから、作成しますあなたの選択からの依存グラフ。詳細情報については

、以下のトピックを参照してくださいコードからグラフドキュメントを生成します:方法

http://msdn.microsoft.com/en-us/library/dd409453%28VS.100%29.aspx#SeeSpecificSource

する方法:アーキテクチャエクスプローラーを使用してコードを探す:http://msdn.microsoft.com/en-us/library/dd409431%28VS.100%29.aspx

RCダウンロードhttp://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=457bab91-5eb2-4b36-b0f4-d6f34683c62a

のVisual Studio 2010に建築ディスカバリー&モデリングツールフォーラム:http://social.msdn.microsoft.com/Forums/en-US/vsarch/threads

+0

素敵なもの、感謝 – johnc

0

Structure101はそれを行うことができます。アセンブリおよび/または名前空間でモデルをブラウズし、任意のレベルで任意の依存関係をクリックすると、その依存関係を引き起こすすべてのコードレベルの参照が得られます。 .NETバージョンはベータ版ですが、他の言語でも数年前から利用可能でしたので、非常に成熟しています。ここでは、スクリーンショットの例です。 alt text http://www.headwaysoftware.com/images/assemblies.jpg

1

チェックアウトのVisual Studio 2010を参照してくださいVideos

5

私は似たような必要ですが、それを行うためのツールをするために支払いをしたい(またはインストール)しませんでした。 I created a quick PowerShell script that goes through the project references、代わりにyuml.me優しい形式でそれらを吐き出す:

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への最速パスを提供するための解決策。 2分以内に私はPowerShellを起動し、スクリプトを実行し、出力をyuml.meに貼り付けてグラフを生成しました。非常に素晴らしい!ところで、あなたのリンクされたブログ記事のコードは、あなたの省略バージョンよりもわずかにクリーンな出力を生成します - これは参照が欠けているプロジェクトに対して '' [project] - > [] ''でスローされます。 (しかし、yumlはいずれの方法でも同じグラフを生成しているようです。) –

関連する問題