Получение NDepend для рекурсии по входному каталогу с поиском всех сборок/источников в нескольких проектах

Я использую сценарий сборки NAnt для вызова NDepend с необходимыми аргументами командной строки.

<exec program="NDepend.Console.exe" basedir="${NDependPath}">
  <arg line="${NDependProjectFilePath} /indirs ${NDependInDirs} /outdir ${NDependOutputDir}" />
</exec>

Но то, что я ищу, - это заставить NDepend рекурсивно проходить по всем подкаталогам указанного «входного каталога» для сборок, перечисленных в моем файле проекта NDepend.

Я использовал NAnt для рекурсивного копирования всех сборок в указанную папку, а затем указал NDepend на это в качестве входных данных. Но этот метод приводит к отсутствию многих метрик, относящихся к самому коду.

Любые идеи, как без указания явного пути ко всем моим сборкам (это большой проект); Я могу получить показатели по всему решению, указав каталог верхнего уровня?


person tomahawk    schedule 07.10.2010    source источник
comment
Для всех, кто хочет добиться чего-то подобного. В итоге я написал пользовательскую задачу NAnt, которая позволяет создать файл .ndproj для любого заданного решения. Это достигается передачей имени решения, папки и фильтра; рекурсивно просматривая структуру папок, извлекая все соответствующие asm. Затем запишите это в XML-документ в качестве дочерних узлов родительского элемента ‹Assemblies›.   -  person tomahawk    schedule 19.10.2010


Ответы (1)


Рекурсивный обход входного каталога для поиска всех сборок в нескольких проектах теперь доступен из: Стартовая страница NDepend >>> Анализ сборок .NET в папках >>> Прямые/рекурсивные дочерние папки

Благодаря NDepend.API вы также можете программно искать сборки на вашем диске, заполнять NDepend проект с этими сборками и запустить анализ для создания отчета. Видеть:

Начало работы с NDepend.API

участники NDepend.DotNet.IDotNetManager

person Patrick from NDepend team    schedule 08.10.2010
comment
Теперь я собираюсь пойти по маршруту консольного приложения. Это позволит динамически создавать .ndproj со списком сборок для данного проекта. Спасибо за ответ! - person tomahawk; 11.10.2010