Как я могу построить «диаграмму дерева зависимостей» из моего решения .NET?
-
09-06-2019 - |
Вопрос
Я могу легко увидеть, на какие проекты и библиотеки DLL ссылается один проект из проекта Visual Studio .NET.
Есть ли какое-либо приложение или использование отражения, которое могло бы построить полное дерево зависимостей, которое я мог бы использовать для построения графической диаграммы зависимостей?
Решение
В дополнение к NDepend вы также можете попробовать это дополнение для Отражатель для отображения графика зависимостей сборки.
Другие советы
NDepend поставляется с интерактивным графиком зависимостей в сочетании с матрицей зависимостей.Ты можешь скачайте и используйте бесплатную пробную версию NDepend на некоторое время.
Подробнее о графе зависимостей 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
загрузка 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