gpt4 book ai didi

jenkins - F# FAKE 将/gac 传递给 FxCpHelper

转载 作者:行者123 更新时间:2023-12-02 10:12:03 26 4
gpt4 key购买 nike

在我的构建脚本中,当我在本地计算机(Win 8.1 x64)上运行它时,整个脚本运行得很好。

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

我非常清楚正在使用的 FxCop (10.0) 版本是相同的,因为它已 checkin 项目的 git 存储库中。

我不明白为什么它在我的本地计算机上工作正常,而不是在构建服务器上工作,但正如我从谷歌搜索的结果中了解到的那样,我应该能够传递 /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" })
)

我查看了 source FxCopHelper 的功能,但我的 F# 并不是那么好,而且(对我来说)似乎没有办法传递除已指定的命令行选项之外的额外命令行选项。

有人有什么建议吗?

最佳答案

您要查找的参数是UseGACSwitch,它是一个 bool 值。 https://github.com/fsharp/FAKE/blob/master/src/app/FakeLib/FXCopHelper.fs#L77

更新您的示例:

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

这应该可以满足您构建服务器的需求。您可能已经发现了这一点或其他东西,但每个人都知道有选择是件好事。谢谢。美好的一天。

关于jenkins - F# FAKE 将/gac 传递给 FxCpHelper,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23996714/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com