我可以轻松查看单个项目在Visual Studio .NET项目中引用的项目和dll。
是否有任何应用程序或反射可以构建一个完整的依赖树,我可以使用它来绘制依赖图形图表?
答案 0 :(得分:10)
NDepend附带了一个与依赖矩阵相结合的交互式依赖图。你可以{Nntpend download and use the free trial edition一段时间。
More on NDepend Dependency Graph
More on NDepend Dependency Matrix:
免责声明:我是工具团队的一员
答案 1 :(得分:5)
我需要类似的东西,但不想支付(或安装)工具来执行此操作。我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"
答案 2 :(得分:3)
除了NDepend之外,您还可以尝试使用此Reflector的插件来显示程序集依赖关系图。
答案 3 :(得分:2)
您可以使用Architecture Explorer浏览解决方案,选择项目以及要显示的关系,然后根据您的选择创建依赖关系图,从而在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
Visual Studio 2010建筑发现&建模工具论坛:http://social.msdn.microsoft.com/Forums/en-US/vsarch/threads
答案 4 :(得分:0)
Structure101可以做到这一点。您可以通过程序集和/或命名空间浏览模型,并单击任何级别的任何依赖项,为您提供导致依赖项的所有代码级引用。 .NET版本处于测试阶段,但多年来它已经可用于其他语言,所以它非常成熟。这是一个屏幕截图示例。 alt text http://www.headwaysoftware.com/images/assemblies.jpg