如何在Windows Phone应用程序中使用F#Power Pack

时间:2012-02-04 20:36:35

标签: windows-phone-7 f#

我想在Windows Phone 7.1应用程序中使用F#Power Pack,但它不起作用。

如果我只是在WP7应用程序中引用和使用Power Pack,它会抱怨mscorlib。 Power Pack引用了经典的.NET mscorlib,但WP7有自己的版本,这不兼容。

编辑:正如Robert所说,Power Pack具有应该使用的silverlight版本(位于“C:\ Program Files(x86)\ FSharpPowerPack-2.0.0.0 \ Silverlight \ v4.0” \ FSharp.PowerPack.dll“)。

但即使我引用了正确版本的Power Pack,当我尝试使用它时会抛出异常。

System.TypeLoadException: Could not load type 'Microsoft.FSharp.Text.Lexing.LexBuffer`1' from assembly 'FSharp.PowerPack, Version=2.0.0.0, Culture=neutral, PublicKeyToken=99CF57B64B44BF93'.

在使用以下方法输入方法之前抛出异常:

var x = LexBuffer<char>.FromString("asdf"); // usage of PowerPack

如果在运行时加载了错误版本的PowerPack dll,可能会导致这种情况,但模块窗口只显示此路径:

\Applications\Install\152F0408-C230-4FDD-93E1-78660547C6B8\Install\FSharp.PowerPack.dll

我也很确定,我引用的所有内容都只是Silverlight DLL,而且应用程序在WP模拟器上运行。

任何想法有什么不对?

由于

1 个答案:

答案 0 :(得分:2)

F#PowerPack也带有一个Silverlight版本,所以你应该使用它。在我安装的powerpack版本中,silverlight组件安装在: C:\ Program Files(x86)\ FSharpPowerPack-2.0.0.0 \ Silverlight

编辑:

我认为Windows Phone 7与Silverlight 3兼容,因为Windows Phone 7.5(芒果)与Silverlight 4兼容,因此您可能需要根据您定位的Windows Phone版本更改Silverlight的版本。 / p>