统计 NDepend 中间接使用的程序集的数量

Count the number of indirectly used assemblies in NDepend

我正在尝试计算 间接 程序集引用。以下内容不起作用,因为 IsIndirectlyUsing 需要常量字符串:“仅接受常量文字字符串作为 IsIndirectlyUsing(string)”的输入

是否有方法获取使用的间接程序集?

from a in Assemblies 

let indirectlyUsed = 
  from dep in Assemblies
  let depName = a.FullName
  where a.IsIndirectlyUsing(depName)
  select dep

where a.PDBFound orderby a.AssembliesUsed.Count() descending
select new { a, a.AssembliesUsed, indirectlyUsed, a.NbLinesOfCode, a.NbILInstructions }```

NDepend.API method FillIterative() 可以提供帮助:

from a in Assemblies 

let indirectlyUsed = a.AssembliesUsed.FillIterative(
    asms => asms.SelectMany(a1 => a1.AssembliesUsed)).DefinitionDomain

where a.PDBFound orderby indirectlyUsed .Count() descending
select new { a, a.AssembliesUsed, indirectlyUsed, a.NbLinesOfCode, a.NbILInstructions }