我使用FSharp.Data.dll来处理json数据。另外,我广泛使用' FSharp.Data.JsonExtensions'其中包括对AsArray()',' AsFloat()',' AsString()'的调用。
问题是我无法在F#Xamarin Android项目中使用它们。它始终如下
我有所有必需的引用,我在脚本文件中使用open FSharp.Data.JsonExtensions
。此外,当我键入.AsString()
时,VS15正确识别此调用存在并且未显示任何错误。只有在我实际编译项目时才会弹出问题。
在无数次尝试找出错误之后,我发现这些调用都标有[<Extension>]
属性,以便与C#扩展兼容。在这些启示之后,我迅速写了一些带有[<Extension>]
属性的扩展方法并尝试应用它。并且在构建阶段它再次失败,之后发生编译时错误。
我认为问题可能出在F#的运行时版本上,但我无法证明这一点,因为在F#中进行版本控制是非常可怕的,而且我对F#还不够舒服。
因此问题基本上与具有[<Extension>]
属性的扩展方法在Xamarin中不起作用这一事实有关。有没有机会解决它?
PS 我当然知道这段代码正在运行,因为我有一个重复的项目(普通的F#.NET控制台应用程序),我在那里测试新的库,我没有任何问题。