使用Mac OSX在Mono上使用.NET 4时出现mscorlib错误

时间:2011-08-07 10:35:39

标签: .net macos f# mono compiler-errors

我有一个F#项目,我想使用.NET 4(System.Numerics)。但是,当我尝试在.NET 4中编译时(我使用的是MonoDevelop),我得到了错误:

  

unknown-file:错误0:警告FS0217:引用的或默认的基本CLI库'mscorlib'与引用的库'/Library/Frameworks/Mono.framework/Versions/2.10.1/lib/mono二进制不兼容/4.0/System.dll”。请考虑重新编译库或显式引用与您正在使用的CLI版本匹配的此库的版本。 (0)(ApproximationSuite)

有谁知道我怎么能绕过这个?

2 个答案:

答案 0 :(得分:2)

明确引用mscorlib,版本4,如下所示:

<Reference Include="mscorlib" />

然后另一个类似的错误会出现(你没有兼容的FSharp.Core)。这是因为它不是这个库的4.0版本。但是,您不需要重新编译,因为您可以从this这样的包中找到v4.0子目录中的编译版本(请注意,它的脚本不会将v4.0安装到gac)。如果你把4.0版本放到MonoDevelop查找它的地方(可能是/ usr / lib / fsharp /),它应该编译得很好。

答案 1 :(得分:1)

您可以重新编译将其定位到4.0版本的FSharp.Core.dll和fsc.exe,然后使用该FSharp.Core.dll。应该管用。我认为它在2.0中适用于你。如果没有,请提供有关项目的一些细节(可能是fsprojs的一部分?)。