我可以轻松查看单个项目从 Visual Studio .NET 项目中引用的项目和 dll。

是否有任何应用程序或反射的使用可以构建一个完整的依赖关系树,我可以用它来绘制依赖关系的图形图表?

有帮助吗?

解决方案

除了 NDepend 之外,您还可以尝试此插件 反射器 用于显示程序集依赖关系图。

其他提示

NDepend 带有一个交互式依赖图和一个依赖矩阵。你可以 下载并使用免费试用版 NDepend 有一段时间了。

有关 NDepend 依赖图的更多信息 enter image description here

有关 NDepend 依赖关系矩阵的更多信息: enter image description here

免责声明:我是工具团队的一员

我需要类似的东西,但不想付费(或安装)工具来完成它。我 创建了一个快速的 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"

Sample Graph

您可以在 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

遥控下载: 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

结构101 可以做到这一点。您可以按程序集和/或命名空间浏览模型,然后单击任何级别的任何依赖项,即可获得导致依赖项的所有代码级引用。.NET 版本还处于测试阶段,但它已经可用于其他语言很多年了,因此它非常成熟。这是一个屏幕截图示例。替代文本 http://www.headwaysoftware.com/images/assemblies.jpg

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top