我有一个设置,其中Visual Studio 2010运行测试覆盖率分析,并且在集成构建期间,其输出被NDepend吸收。
一些程序集包含需要被NDepend忽略的生成代码。
有没有办法做到这一点?最好是整个命名空间。
我有一个设置,其中Visual Studio 2010运行测试覆盖率分析,并且在集成构建期间,其输出被NDepend吸收。
一些程序集包含需要被NDepend忽略的生成代码。
有没有办法做到这一点?最好是整个命名空间。
Code Query and Rule over LINQ (CQLinq)确实提供了一个功能来忽略生成的代码。
有一个方便的预定义域,名称为JustMyCode,类型为ICodeBaseView。
域JustMyCode代表了CQLinq的一种功能,可以从CQLinq查询结果中消除生成的代码元素。例如,以下查询仅匹配不是由工具(如UI设计器)生成的大型方法:
from m in JustMyCode.Methods where m.NbLinesOfCode > 30 select m
notmycode from m in Methods where
m.SourceFileDeclAvailable &&
m.SourceDecls.First().SourceFile.FileName.ToLower().EndsWith(".designer.cs")
select m
// Here are some ways to avoid taking account of generated methods.
!( NameIs "InitializeComponent()" OR
// NDepend.CQL.GeneratedAttribute is defined in
// the redistributable assembly $NDependInstallDir$\Lib\NDepend.CQL.dll
// You can define your own attribute to mark "Generated".
HasAttribute "OPTIONAL:NDepend.CQL.GeneratedAttribute")
但这并没有解决修改每个CQL查询以确保它们都忽略生成代码的需求。