我的项目的构建版本为failing on Travis,并出现以下错误:
FSC:错误FS0193:来自编译单元'System'的模块/名称空间'System.Net'不包含名称空间,模块或类型'WebClient'
主项目没有任何依赖关系,测试项目不依赖于System.Net
或WebClient
,所以我不确定这在哪里适用。
一切都在本地工作正常,所以我假设版本不匹配,但无法确定是什么。
我的本地版本的输出可以在this text file中找到。
更新
根据GitHub issue创建的@7sharp9,我们发现这是Mono packaging bug。
建议的workaround是引用NuGet包中的FSharp.Core
,这对我有用。
您可能希望only use the NuGet package when the canonical path is unavailable,就像我一样。
答案 0 :(得分:11)
travis版本使用 GAC 中的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 /../参考装配/ Microsoft / FSharp / .NETCore / 3.259.3.1 / FSharp.Core.dll “
您收到的错误:
FSC:错误FS0193:来自编译单元'System'的模块/名称空间'System.Net'不包含名称空间,模块或类型'WebClient'
指示其尝试从位于GAC中的Fsharp.Core解析System.Net引用的FSharp.Core
不匹配,项目中的其他引用都是PCL 259,不能满足此引用。
至于为什么,你能否使用诊断开关来建立travis?
好的,接下来,现在已经链接了诊断构建,问题在于:
HintPath /usr/lib/mono/xbuild/../参考程序集/ Microsoft / FSharp / .NETCore / 3.259.3.1 / FSharp.Core.dll不存在。 参考FSharp.Core解析为/usr/lib/mono/gac/FSharp.Core/4.4.0.0__b03f5f7f11d50a3a/FSharp.Core.dll。 CopyLocal = False 在搜索路径{GAC}
中找到参考
travis实例没有:
/ usr / lib / mono / xbuild /../参考装配/ 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之类的老版本来尝试确认这确实是问题。