首先确定一些背景。我正忙于自动化构建过程。我们运行Vs 2005和VS 2008的混合物,目标平台2.0。我们使用Nant来使用MSBUILD任务来执行编译,使用Cruise Control .net来执行我们的CI。目前,我们将所有警告视为错误,如果任何FxCop规则失败(我们禁用的小子集除外),则构建失败,如果Simian检测到所有项目中的任何代码重复超过5行,则构建失败。
我编写了NDepend CQL查询来强制执行一些难以在FxCop中实现的规则。如果方法/类中的行数突破某个限制,我想使构建失败。如果方法的圈复杂度太高,我也想失败。
我可以轻松地将NDepend作为构建的一部分运行。但是如果我的CQL查询返回结果,我就无法使构建失败> 0
所以这就是问题:
谢谢, 斯蒂芬
答案 0 :(得分:1)
我们所做的实际上是在解析输出文件后立即运行PowerShell脚本,并根据找到的条件引发一系列错误和相应的消息。一旦powershell抛出错误,构建就会失败。
答案 1 :(得分:0)
请参阅有关NDepend关键规则和构建失败的文档: http://www.ndepend.com/Doc_CI_CriticalRule.aspx