Ndepend - 以某种方式排除汇编而不是其他方式

时间:2013-10-16 23:10:18

标签: c# ndepend

我正在使用NDepend来分析我正处于开发过程中的C#项目。我编写了大部分业务逻辑和数据访问层,但是现在,我唯一的前端应用程序是“快速而肮脏”的测试应用程序。

首先,NDepend在我的测试应用程序中存在各种问题。没有什么是严肃的,只是像太多的方法,太长的方法等等。因为这基本上是一次性的应用程序,我不想花一大堆时间重构它,所以我从NDepend项目中删除它。

问题是,现在,因为那是我在项目中唯一的前端应用程序,NDepend正在抱怨我的业务层中的事情,比如未实例化的类,因为没有代码可以实例化它们,除了我在测试应用程序中被排除在外。我知道现在可以安全地忽略它们,因为它们最终会被REAL前端应用程序实例化,但我真的很想看到所有黄色三角形在我在这个应用程序上进行任何进一步开发之前消失。

有没有办法让NDepend不抱怨特定程序集中的问题,但仍然包含它以使其他程序集中的查询通过?

如果没有,还有其他想法吗?

1 个答案:

答案 0 :(得分:0)

是的,这是可能的。首先再次参考您的测试应用程序组件。 然后通过添加如下所示的自定义查询来排除它们:

// <Name>Discard test assemblies from JustmyCode</Name>
notmycode Application.Assemblies.WithNameIn("TestAsm1","TestAsm2"...)

此查询可以保存在默认组Defining JustMyCode中(不是强制性的,但建议使用)。

然后,您需要调整警告有关测试程序集脏东西的代码规则,以使用JustMyCode而不是Application(例如from m in JustMyCode.Methods...而不是from m in Application.Methods...)。

可以找到notmycode / JustmyCode相关文档here