无法让 TeamCity FxCop Build Runner 工作

Posted

技术标签:

【中文标题】无法让 TeamCity FxCop Build Runner 工作【英文标题】:Can't get TeamCity FxCop Build Runner to Work 【发布时间】:2009-05-21 15:47:58 【问题描述】:

关于如何消除此错误消息的任何想法?

无法运行进程 E:\Program Files\Microsoft FxCop 1.36\FxCop.exe\FxCopCmd.exe /forceoutput /gac /ignoregeneratedcode /f:\Sacog\bin\Debug\Sacog.dll /out:05A1B22A-DE6E-49ae -AA30-DC52A074EF22\fxcop-result.xml:找不到文件

【问题讨论】:

【参考方案1】:

我必须在 buildAgent.properties 文件中设置以下内容

system.FxCopRoot=c:\\Program Files (x86)\\Microsoft FxCop 1.36

确保转义冒号和反斜杠。

然后我必须从 bin 文件夹的编译构建配置中创建一个工件,该文件夹包含我希望 FxCop 查看的程序集。然后我必须在 FxCop 构建配置中创建对该工件的工件依赖项;否则没有任何可用于 FxCop tp 操作的程序集。

这对我有用。

【讨论】:

【参考方案2】:

您是否在运行器配置中设置了“FxCop 安装根”设置?

如果有,请从最后删除 FxCop.exe。

如果没有,您能否在此处发布您的 FxCop 构建页面中设置选项卡的内容?

【讨论】:

关于 NAnt/MSBuild 集成,请参阅jetbrains.net/confluence/display/TCD4/… 感谢@shalupov:在您指出这一点之前,我没有注意到错误中的\FxCop.exe\FxCop.exe【参考方案3】:

FxCop 正在尝试在 BuildAgent 驱动器的根目录测试代码...开关

/f:\Sacog\bin\Debug\Sacog.dll

正在尝试从该驱动器的根目录获取 Sacog.dll。这可能来自您在 TeamCity 中配置供 FxCop 分析的文件列表。在“Build Configuration / Step 3: Runner”配置屏幕的“Assemblies”部分中删除文件名开头的\

【讨论】:

试过你的建议,还是不开心。这是程序集部分中的内容:Sacog\bin\Debug\Sacog.dll 我在这里抓到了最后一根稻草,但通往 FxCop 的路径中的空格会不会是个问题?【参考方案4】:

只需将 FXCop 路径添加到 PATH 环境变量。

另外,NAnt contrib 有一个 fxcop 任务。像这样使用它:

  <loadtasks>
    <fileset basedir="$environment::get-variable('NAntContribHome')">
      <include name="NAnt.Contrib.Tasks.dll" />
    </fileset>
  </loadtasks>


  <target name="fxCop" depends="compile">
    <fxcop analysisReportFilename="fxCopResults.xml" failOnAnalysisError="false" >
      <targets>
        <includes name="BinaryToAnalyse.dll" />
      </targets>
      <rules>
        <includes name="C:\Program Files\Microsoft FxCop 1.36\Rules\*Rules.dll" />
      </rules>
    </fxcop>
  </target>

【讨论】:

重新阅读您的问题。你是使用内置的 TC 运行器,还是通过 NAnt 调用? 目前我正在使用 TC 运行器,但我愿意改变,我正在尝试升级 MSBuild 或 NAnt 以获得更多长期灵活性。

以上是关于无法让 TeamCity FxCop Build Runner 工作的主要内容,如果未能解决你的问题,请参考以下文章

在 teamcity 中生成 FxCop 结果 xml

TeamCity 中图表格式的 FxCop 报告

在 TeamCity 中全局禁用 FxCop 错误

TeamCity 发送电子邮件 FxCop 通知

TeamCity FxCop 选择 MinimumRecommendedRules.ruleset 无效

如何在 TeamCity 中导入/解析 fxcop/stylecop 生成的 xml 报告