无法让TeamCity FxCop Build Runner工作

时间:2009-05-21 15:47:59

标签: continuous-integration teamcity fxcop

关于如何发送此错误消息的任何想法都会消失?

无法运行进程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:找不到文件

4 个答案:

答案 0 :(得分:5)

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

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

确保逃脱冒号和反斜杠。

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

这对我有用。

答案 1 :(得分:2)

您是否在跑步者配置中设置了“FxCop安装根”设置?

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

如果没有,您可以在此处发布FxCop构建页面中“设置”选项卡的内容吗?

答案 2 :(得分:0)

只需将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>

答案 3 :(得分:0)

FxCop正试图在BuildAgent的驱动器的ROOT上测试代码......交换机

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

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