【发布时间】:2014-06-02 14:16:50
【问题描述】:
在我的构建脚本中,当我在本地机器(Win 8.1 x64)上运行它时,整个脚本运行良好。
当我在我的构建服务器(Jenkins,Server 2012 r2 x64)上运行它时,FxCop 任务失败,因为它无法解析我的某些第 3 方库所需的任何 System.* 程序集引用使用。
我很清楚正在使用的 FxCop (10.0) 的版本是相同的,因为它已签入项目的 git repo。
我不明白为什么它在我的本地机器上工作正常,而不是在构建服务器上,但根据我的谷歌搜索结果,我应该能够将 /gac 切换到 FxCop为了告诉它在扫描程序集时它应该查看那里以解析它需要的引用。
我只是不知道如何使用 FAKE 将该开关传递给 FxCop。
目标如下,但老实说和FAKE网站上的FxCop教程基本一样,我只是去掉了一些dll和exe的名称。
Target "FxCop" (fun _ ->
!! (build @@ "**/*.dll")
++ (build @@ "**/*.exe")
|> FxCop (fun p ->
{p with
ReportFileName = testResults + "FXCopResults.xml";
ToolPath = "./tools/FxCop/FxCopCmd.exe" })
)
我查看了FxCopHelper 的source,但我的 F# 不是那么好,而且(对我而言)似乎没有一种传递额外命令行选项的方式比已经指定的。
有人有什么建议吗?
【问题讨论】:
-
我暂时通过Fx Cop Runner Plugin 解决了这个问题,但我仍然想知道我的问题是否有答案。
-
合并。即将发布。