2009-06-17 6 views

ответ

5

В начале, попробуйте Dependency Visualizer. Я также использовал GraphViz's Dot и некоторый специальный код для простой генерации зависимостей. Пользовательский код вызывал SysInternal's depend.exe рекурсивно и анализировал вывод. .NET Reflector с плагином Graph выглядит довольно многообещающим, хотя я еще не пробовал (пока).

То, что я всегда сталкивался, было то, что мой график, если он создан автоматически, должен быть воссоздан каждый раз, когда я добавляю в проект, а иногда, когда я просто что-то меняю. Итак, для меня ручное решение, в котором я женился на обновлениях, не было решением вообще.

Я только что нашел Dependency Structure Matrix Plug-in для .NET Reflector.

+0

depends.exe от dependencywalker.com не Sysinternals ... –

+0

+1 за хороший ответ, хотя. Хотелось бы, чтобы люди объясняли низшие голоса ответами, которые, по-видимому, не являются плохими. –

+0

Может быть, мы можем сказать, что мы вдвое правы и разделили разницу? ; v) Я говорил об этом: http://support.microsoft.com/kb/301423, так что это, по крайней мере, в пакете инструментов поддержки Windows 2000. Как разработчик .NET (для электрической компании) я выбрал шахту где-то с MS. – james

0

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

2

Ну, для .NET вы также можете попробовать VS2010 Beta 1 и Architect Architecture (Arch Explorer screen shots).

Что касается VB6, у меня также есть инструмент для этого. Этот инструмент от Microsoft Visual Basic 6.0 to Visual Basic .NET Upgrade Assessment Tool создает граф вызовов в HTML для одного VBP, не уверен, насколько он полезен для вас. Помимо этого я не нашел инструментов для VB6.

1

Вы можете создавать графики зависимостей сборков .NET и прикладных проектов в VS 2010 Ultimate. Вы можете создавать графики зависимостей сборки как один из стандартных графиков, или вы можете использовать Architect Explorer для просмотра своего решения, выбора проектов и отношений, которые вы хотите визуализировать, а затем создать граф зависимости из вашего выбора.

Для получения дополнительной информации см следующие темы:

Как: Генерация Graph документов из кода: 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

RC скачать: http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=457bab91-5eb2-4b36-b0f4-d6f34683c62a.

Visual Studio 2010 архитектуры Discovery & Инструменты моделирования Форум: http://social.msdn.microsoft.com/Forums/en-US/vsarch/threads

+0

Как это помогает с автоматической документацией на стороне VB6 приложения? – benPearce

1

Чтобы завершить Эриком ответ, NDepend приходит действительно с dependency graph в сочетании с dependency matrix.

NDepend Dependency Graph

NDepend Dependency Matrix

Зависимости Graph легче понять, но когда число узлов растет (> 40), часто зависимости матрица обеспечит более четкое представление о ситуации. Например, ниже Матрица представляет одни и те же данные зависимости, чем график, но, очевидно, понятна.

Dependency Matrix vs. Dependency Graph

Смежные вопросы