Jenkins F#假传球/传中给FxCopHelper

Jenkins F#假传球/传中给FxCopHelper,jenkins,f#,f#-fake,Jenkins,F#,F# Fake,在我的构建脚本中,当我在本地机器(Win 8.1 x64)上运行它时,整个脚本工作得非常好 当我在构建服务器(Jenkins,server 2012 r2 x64)上运行它时,FxCop任务失败,因为它无法解析我正在使用的某些第三方LIB所需的任何System.*程序集引用 我非常清楚,所使用的FxCop(10.0)版本是相同的,因为它已签入项目的git回购 我不明白为什么它可以在我的本地机器上正常工作,而不是在构建服务器上正常工作,但我从谷歌搜索的结果中了解到,我应该能够将/gac开关传递到F

在我的构建脚本中,当我在本地机器(Win 8.1 x64)上运行它时,整个脚本工作得非常好

当我在构建服务器(Jenkins,server 2012 r2 x64)上运行它时,FxCop任务失败,因为它无法解析我正在使用的某些第三方LIB所需的任何System.*程序集引用

我非常清楚,所使用的FxCop(10.0)版本是相同的,因为它已签入项目的git回购

我不明白为什么它可以在我的本地机器上正常工作,而不是在构建服务器上正常工作,但我从谷歌搜索的结果中了解到,我应该能够将
/gac
开关传递到FxCop,以便告诉它应该在那里查找以解决扫描程序集时需要的引用

我就是想不出如何使用FAKE将开关传递给FxCop

目标如下,但老实说,它与假网站上的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
,但是我的F#不是很好,而且(对我来说)除了已经指定的命令行选项之外,似乎没有其他方法可以传递额外的命令行选项


有人有什么建议吗?

您要查找的参数是UseGACSwitch,它是一个布尔值。

要更新您的示例,请执行以下操作:

Target "FxCop" (fun _ ->
    !! (build @@ "**/*.dll")
        ++ (build @@ "**/*.exe")
        |> FxCop (fun p ->
            {p with
                ReportFileName = testResults + "FXCopResults.xml";
                UseGACSwitch = true;
                ToolPath = "./tools/FxCop/FxCopCmd.exe" })
)

这将为您的构建服务器带来所需的满足。你可能已经发现了这一点或其他什么,但每个人都知道有选择是好的。非常感谢。早安。

我已经通过使用解决了这个问题,不过我仍然想知道我的问题是否有答案。是否有帮助?合并。将很快发布。
UseGACSwitch
由于我的问题被添加到false中。请参阅对我的问题的评论,以查看实际的拉动请求。