在VS 2010项目中在NAnt上运行FxCop

时间:2011-09-30 04:08:36

标签: visual-studio-2010 nant fxcop

我正在尝试使用NAnt设置CI工具。 我已经设法让NAnt构建项目 我已经为项目创建了.FxCop文件,但是当我在Nant Build配置中插入FxCop命令时,我收到了

[exec] Loading C:\projects\BuildingSolution\BuildingSolution.FxCop...
[exec] Failed loading FxCop project.
[exec] Error text: Project version is incompatible with current application version..

项目和解决方案来自.NET 4.0上的Visual Studio 2010 NAnt版本是0.91-alpha2 FxCop版本是10

我插入的设置:

<target name="runFxCop">
<exec program="c:\devtools\fxcop10\fxcopcmd.exe" 
   commandline="/p:${FxCop.Filename}  /o:${Build.OutputFolder}Latest\fxcop-results.xml" 
   failonerror="false"/>
</target>

错误消息表明该项目不受支持,但我看过有关FxCop支持.Net 4.0的帖子。 我不确定我是否配置错误或者目前不支持。 任何人都可以帮我这个吗?

2 个答案:

答案 0 :(得分:0)

尝试设置nant.settings.currentframework属性,如下所示:

<property name="nant.settings.currentframework" value="net-4.0" />

答案 1 :(得分:0)

Ditto @TrueWill - 尝试通过命令行运行它以确保它正常工作,然后将其集成到您的nant脚本中。

但是我选择了另一种为我的项目运行此分析的方法,因为FxCop命令行运行器产生的结果与IDE Code Analysis运行器不同(因为FxCop不支持新的凤凰引擎),我想要构建服务器以强制执行与IDE中运行的规则相同的规则。

我使用this blog中描述的过程来设置我的环境。这也让我有能力放松单元测试项目的规则。运行构建任务时,代码分析结果将写入每个项目的CodeAnalysisLog.xml文件。然后,我的CI服务器只需检查这些日志以获取报告。