【问题标题】:running FxCop in NAnt on VS 2010 project在 VS 2010 项目的 NAnt 中运行 FxCop
【发布时间】:2011-09-30 04:08:35
【问题描述】:

我正在尝试使用 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 的帖子。 我不确定是我配置错误还是目前不支持。 谁能帮我解决这个问题?

【问题讨论】:

  • 尝试先在命令行上运行 FxCop - 暂时将 NAnt 排除在外。让 FxCop 工作,然后将您使用的命令行添加到 NAnt 构建脚本。 FxCop 10 在 .NET 4/VS 2010 项目上运行良好;我们一直在运行它。

标签: visual-studio-2010 nant fxcop


【解决方案1】:

尝试像这样设置nant.settings.currentframework 属性:

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

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-08
      • 2015-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-02
      • 1970-01-01
      • 2019-11-23
      相关资源
      最近更新 更多