gpt4 book ai didi

.net - 为什么我的 F# 项目在本地构建但在 Travis 上失败?

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

我的项目的构建是 failing on Travis出现以下错误:

FSC: error FS0193: The module/namespace 'System.Net' from compilation unit 'System' did not contain the namespace, module or type 'WebClient'



主项目没有任何依赖,测试项目不依赖 System.NetWebClient ,所以我不确定这在这里如何适用。

本地一切正常,所以我假设某处版本不匹配,但无法确定是什么。

我的本地构建的输出可以在 this text file 中找到.

更新

关注 GitHub issue创建者 @7sharp9发现这是一个 Mono packaging bug .

建议 workaround是引用 FSharp.Core而是来自 NuGet 包,这对我有用。

您不妨 only use the NuGet package when the canonical path is unavailable ,就像我一样。

最佳答案

travis 版本正在构建 FSharp.Core来自 广汽 :

-r:/usr/lib/mono/gac/FSharp.Core/4.3.1.0__b03f5f7f11d50a3a/FSharp.Core.dll



而您的本地构建使用的是 FSharp.Core在:

-r:"/Library/Frameworks/Mono.framework/Versions/4.0.2/lib/mono/xbuild/../Reference Assemblies/Microsoft/FSharp/.NETCore/3.259.3.1/FSharp.Core.dll"



你得到的错误:

FSC: error FS0193: The module/namespace 'System.Net' from compilation unit 'System' did not contain the namespace, module or type 'WebClient'



表示不匹配 FSharp.Core它试图从位于 GAC 中的 Fsharp.Core 解析 System.Net 引用,您项目中的其他引用都是 PCL 259,无法满足此引用。

至于为什么,你可以让 travis 使用诊断开关来构建吗?

好的,接下来,既然有一个诊断构建链接,问题就在这里:

HintPath /usr/lib/mono/xbuild/../Reference Assemblies/Microsoft/FSharp/.NETCore/3.259.3.1/FSharp.Core.dll does not exist. Reference FSharp.Core resolved to /usr/lib/mono/gac/FSharp.Core/4.4.0.0__b03f5f7f11d50a3a/FSharp.Core.dll. CopyLocal = False Reference found at search path {GAC}



travis 实例没有:

/usr/lib/mono/xbuild/../Reference Assemblies/Microsoft/FSharp/.NETCore/3.259.3.1/FSharp.Core.dll



所以它恢复到gac。

最近有一个问题,FSharp.Core 没有安装到正确的位置,也许这​​就是一个表现。

我会做的是尝试不同版本的单声道,如下所述: http://docs.travis-ci.com/user/languages/csharp/也许尝试使用 3.12 或 alpha 或 beta 之类的旧版本来尝试确认这确实是问题所在。

关于.net - 为什么我的 F# 项目在本地构建但在 Travis 上失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31866034/

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