Как мне получить диаграмму зависимостей между моими проектами на C #

У меня довольно сложное приложение, разбитое на несколько компонентов. Каждый компонент имеет файл решения, который содержит несколько проектов. Поэтому мне нравится думать об этом как о компоненте, содержащем несколько проектов / библиотек. Существует также «общий» компонент. Все остальные компоненты зависят от «общего». Итак, компиляция выглядит так: «nant component1.compile» скомпилирует «common», а затем скомпилирует component1, так как component1 зависит от «common». Со временем «общее» стало довольно большим. Я уверен, что его можно разделить на несколько более мелких компонентов. Тогда компоненты должны зависеть только от некоторых из этих меньших, разбитых «общих». Мы надеемся, что это сократит время компиляции для различных компонентов.

Итак, вопрос: Я хотел бы визуализировать зависимость между всеми различными проектами в приложении, а также пометить, к какому компоненту принадлежит проект. Как бы вы это сделали?

8
задан Rohith 25 August 2010 в 09:29
поделиться

6 ответов

Взгляните на мой бесплатный плагин DSM для .NET Reflector, который можно загрузить с www.tom-carter.net

. Он позволяет два разных представления о ваших зависимостях: модель развертывания для поиска зависимостей между сборками и архитектурная модель, чтобы показать зависимости между типами.

Если он не предоставляет визуально ту информацию, которую вы ищете, вы можете сохранить модель в xml и запустить свой собственный сценарий для данных.

Преимущество матрицы зависимостей в том, что визуально анализировать зависимости намного проще, чем прямоугольные и линейные графики

Если вам нужна дополнительная помощь, позвольте мне

[Обновление] Этот плагин теперь доступен в виде надстройки Visual Studio

0
ответ дан 5 December 2019 в 20:11
поделиться

Если у вас есть доступ к Visual Studio 2010 Ultimate, вы можете выбрать Создать график зависимостей в меню Архитектура.

На MSDN есть пошаговое руководство: Как создать графики зависимостей для кода .NET

2
ответ дан 5 December 2019 в 20:11
поделиться

Я бы попробовал импортировать его в инструмент UML, который мог бы отобразить для меня диаграмму зависимости между модулями.

На рынке их несколько, как коммерческих, так и с открытым исходным кодом. Получите тот, который дает вам больше всего возможностей для вашего бюджета.

1
ответ дан 5 December 2019 в 20:11
поделиться

понятие было предложено мне сегодня утром (:

http://www.scitools.com/

но, честно говоря, я не могу дать надлежащий отчет об этом, так как это слишком дорого для меня...

0
ответ дан 5 December 2019 в 20:11
поделиться

Вы можете взглянуть на NDepend: http://www.ndepend.com/

edit, чтобы добавить:

Patrick Smacchia, ведущий разработчик NDepend, блоги здесь : http://codebetter.com/blogs/patricksmacchia/default.aspx и много написал на тему компонентизации, которые могут быть вам полезны.

3
ответ дан 5 December 2019 в 20:11
поделиться

Если у вас все в порядке с информацией об уровне сборки, вам следует взглянуть на надстройку Graph к популярному инструменту Reflector. Он предоставляет график зависимостей на уровне сборки и класса.

1
ответ дан 5 December 2019 в 20:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: