我可以很容易地看到在Visual Studio .NET项目中引用哪些项目和dll单个项目。如何从我的.NET解决方案构建“依赖关系树图”
是否有任何应用程序或反射的使用可以构建一个完整的依赖关系树,我可以使用它来绘制依赖关系的图形图表?
我可以很容易地看到在Visual Studio .NET项目中引用哪些项目和dll单个项目。如何从我的.NET解决方案构建“依赖关系树图”
是否有任何应用程序或反射的使用可以构建一个完整的依赖关系树,我可以使用它来绘制依赖关系的图形图表?
除了NDepend,您还可以尝试使用Reflector的插件来显示程序集依赖关系图。
NDepend带有一个交互式依赖图和一个依赖矩阵。你可以用NDepend的download and use the free trial edition一段时间。
More on NDepend Dependency Graph
More on NDepend Dependency Matrix:
免责声明:我是工具团队的一部分
您可以在Visual Studio 2010旗舰版通过创建项目和组件依赖关系图使用体系结构浏览器浏览您的解决方案,选择您想要可视化的项目和关系,然后创建e是您选择的依赖关系图。
欲了解更多信息,请参阅以下主题:
如何从代码生成图表文件: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
不错的东西,提供给最快路径感谢 – johnc 2010-03-24 20:48:03
Structure101可以做到这一点。您可以通过程序集和/或命名空间浏览模型,然后单击任何级别上的任何依赖关系,都会为您提供导致依赖关系的所有代码级别引用。 .NET版本处于测试阶段,但它已经可用于其他语言多年,所以它非常成熟。这是一个示例屏幕截图。 alt text http://www.headwaysoftware.com/images/assemblies.jpg
结帐Visual Studio 2010中见Videos
我需要类似的东西,但不想支付(或安装)的工具来做到这一点。我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"
+1一个办法。在两分钟之内,我启动了PowerShell,运行脚本,将输出粘贴到yuml.me中并生成一个图形。非常好!顺便说一句,您链接的博客文章中的代码产生的输出比您的简化版本稍微更清晰 - 对于缺少引用的项目,此代码在“[project] - > []”中引发。 (尽管如此,yuml似乎无论如何都会生成相同的图形。) – 2013-02-19 19:38:10
的插件正是我一直在寻找的是,由于 – johnc 2008-09-17 06:02:22