Проекты

Dependency Analyzer

Изредка появляется проблема — разобраться в иерархии полученных исполняемых сборок и что на что ссылается... При этом, зачастую ссылки на сборки излишни или из за лени ссылка добавлена в обход бизнес-логики напрямую в ORM.

Для визуализации всех зависимостей и был написан данный плагин. Причём он позволяет показывать не только CLI зависимости, но и зависмости из нативной Import directory.

В качестве основы для рисования графиков — взят компонент Microsoft Automatic Graph Layout.

В качестве основы для чтения PE/CLI файлов использовался компонент PEReader


Настройки

  • RecursiveLevel 5 — Глубина рекурсии по поиску зависимостей
  • SearchType AssemblyRef
    • AssemblyRef — Поиск сборок только из блока References в локальных папках;
    • GAC — поиск сборок в Global Assembly Cache и их зависимостей;
    • ModuleRef — Поиск библиотек добавленных через DllImportAttribute;
    • NativeSystem — Поиск по нативным сборкам из Import directory.
  • ExecutableDefaultColorUI LightYellow — Цвет найденного исполняемого файла
  • ExecutableNotFoundColorUI Red — Цвет не ссылки на не найденный файл
  • ExecutableSystemColorUI Green — Цвет ссылки на на найденный файл в системных папка (GAC;%WinDir%)

Остальные настройки - напрямую мапятся на свойства графа

Пример отображения зависимостей

Отображение зависимостей небольшого проекта, включая зависимости сборок из NuGet'а

Отображение зависимостей большого проекта с большим количеством зависимостей и с потеряшками (При попытке обращения к такой сборки - будет исключение)

TODO

  1. Добавить верионность в поиск сборок (bindingRedirect)
Теги:

Скачать

Ссылки

Родительские файлы