.NET ソリューションから「依存関係ツリー図」を構築するにはどうすればよいですか
-
09-06-2019 - |
質問
Visual Studio .NET プロジェクト内から、単一のプロジェクトがどのプロジェクトと DLL を参照しているかを簡単に確認できます。
依存関係のグラフィカル チャートをプロットするために使用できる完全な依存関係ツリーを構築できるリフレクションのアプリケーションまたは使用方法はありますか?
解決
NDepend に加えて、このアドインを試すこともできます。 リフレクター アセンブリの依存関係グラフを表示します。
他のヒント
NDepend には、依存関係マトリックスと結合された対話型の依存関係グラフが付属しています。あなたはできる 無料試用版をダウンロードして使用する しばらくの間依存します。
免責事項:私はツールチームの一員です
同様のものが必要でしたが、それを行うためのツールにお金を払ったり(インストールしたり)たくありませんでした。私 プロジェクト参照を実行する簡単な PowerShell スクリプトを作成しました そしてそれらを吐き出します 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"
Visual Studio 2010 Ultimate でプロジェクトとアセンブリの依存関係グラフを作成するには、アーキテクチャ エクスプローラーを使用してソリューションを参照し、視覚化するプロジェクトと関係を選択し、選択した内容から依存関係グラフを作成します。
詳細については、次のトピックを参照してください。
方法:コードからグラフドキュメントを生成: 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
Visual Studio 2010 アーキテクチャ検出およびモデリング ツール フォーラム: http://social.msdn.microsoft.com/Forums/en-US/vsarch/threads
構造101 それはできます。アセンブリや名前空間ごとにモデルを参照でき、任意のレベルの依存関係をクリックすると、依存関係の原因となっているすべてのコード レベルの参照が表示されます。.NET バージョンはベータ版ですが、他の言語でも何年も前から利用できるようになっており、非常に成熟しています。スクリーンショットの例を次に示します。代替テキスト http://www.headwaysoftware.com/images/assemblies.jpg