11

Visual Studio .NETプロジェクト内から、単一のプロジェクトがどのプロジェクトとdllを参照しているかを簡単に確認できます。

依存関係のグラフをプロットするために使用できる完全な依存関係ツリーを構築できるアプリケーションまたはリフレクションの使用法はありますか?

4

5 に答える 5

10

NDependには、依存関係マトリックスと組み合わせたインタラクティブな依存関係グラフが付属しています。NDependの無料試用版をダウンロードしてしばらく使用できます。

NDepend依存関係グラフの詳細 ここに画像の説明を入力してください

NDepend依存関係マトリックスの詳細ここに画像の説明を入力してください

免責事項:私はツールチームの一員です

于 2008-11-21T09:49:51.690 に答える
8

私は似たようなものが必要でしたが、それを行うためのツールにお金を払う(またはインストールする)ことはしたくありませんでした。プロジェクト参照を調べて、代わりにyuml.meのフレンドリーな形式でそれらを吐き出す簡単なPowerShellスクリプトを作成しました。

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"

サンプルグラフ
(出典:yuml.me

于 2012-05-06T16:54:18.497 に答える
3

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

于 2008-09-17T05:30:19.097 に答える
2

アーキテクチャ エクスプローラーを使用してソリューションを参照し、視覚化するプロジェクトと関係を選択して、選択内容から依存関係グラフを作成することにより、Visual Studio 2010 Ultimate でプロジェクトとアセンブリの依存関係グラフを作成できます。

詳細については、次のトピックを参照してください。

方法: コードからグラフ ドキュメントを生成する: http://msdn.microsoft.com/en-us/library/dd409453%28VS.100%29.aspx#SeeSpecificSource

方法: Architecture Explorer を使用してコードを検索する: 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 Architectural Discovery & Modeling Toolsフォーラム: http://social.msdn.microsoft.com/Forums/en-US/vsarch/threads

于 2010-02-19T00:43:58.570 に答える
0

Structure101はそれを行うことができます。アセンブリや名前空間でモデルを参照できます。任意のレベルで任意の依存関係をクリックすると、依存関係の原因となっているすべてのコード レベルの参照が表示されます。.NET バージョンはベータ版ですが、他の言語でも何年も使用できるようになっているため、非常に成熟しています。スクリーンショットの例を次に示します。 代替テキスト http://www.headwaysoftware.com/images/assemblies.jpg

于 2010-02-19T10:40:19.583 に答える