Как я могу построить «диаграмму дерева зависимостей» из моего решения .NET?

StackOverflow https://stackoverflow.com/questions/80287

  •  09-06-2019
  •  | 
  •  

Вопрос

Я могу легко увидеть, на какие проекты и библиотеки DLL ссылается один проект из проекта Visual Studio .NET.

Есть ли какое-либо приложение или использование отражения, которое могло бы построить полное дерево зависимостей, которое я мог бы использовать для построения графической диаграммы зависимостей?

Это было полезно?

Решение

В дополнение к NDepend вы также можете попробовать это дополнение для Отражатель для отображения графика зависимостей сборки.

Другие советы

NDepend поставляется с интерактивным графиком зависимостей в сочетании с матрицей зависимостей.Ты можешь скачайте и используйте бесплатную пробную версию NDepend на некоторое время.

Подробнее о графе зависимостей NDepend enter image description here

Подробнее о матрице зависимостей NDepend: enter image description here

Отказ от ответственности:Я часть команды инструментов

Мне нужно было что-то подобное, но я не хотел платить (или устанавливать) инструмент для этого.я создал быстрый сценарий 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"

Sample Graph

Вы можете создать график зависимостей проектов и сборок в 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

загрузка RC: 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