我需要安装使用F#动力包。我在Mac上使用了单版本2.10.2。
mono --version
Mono JIT compiler version 2.10.2 (tarball Mon Apr 18 09:14:01 MDT 2011)
Copyright (C) 2002-2011 Novell, Inc and Contributors. www.mono-project.com
TLS: normal
SIGSEGV: normal
Notification: kqueue
Architecture: x86
Disabled: none
Misc: debugger softdebug
LLVM: yes(2.9svn-mono)
GC: Included Boehm (with typed GC)安装。
~/bin目录。~/bin/FSharpPowerPack-1.9.9.9/bin添加到路径中。为了以防万一,我还将其添加到MONO_PATH中。(我不确定这是否必要)~/bin/FSharpPowerPack-1.9.9.9/bin/gac中的dll,使用命令sudo gacutil -i <ALL_THE_FILES_IN_DLL>.dll使用powerpack
我用此页中的示例代码进行了测试。我叫它linq.fs
open Microsoft.FSharp.Linq
let adderExpr = <@ fun i -> i + 1 @>.ToLinqExpression()
let adder = <@ fun i -> i + 1 @>.Compile()问题
fsc linq.fs /r:FSharp.PowerPack.Linq.dll上出错了。可能出什么事了?
/Users/smcho/Desktop/fs/powerpack/linq.fs(1,38):error FS0039:未定义字段、构造函数或成员“ToLinqExpression”
/Users/smcho/Desktop/fs/powerpack/linq.fs(2,34):error FS0039:未定义字段、构造函数或成员“编译”gacutil -i安装所有dll吗?或者,仅仅将dll路径附加到PATH/MONO_PATH环境变量就足够了吗?发布于 2011-06-01 19:53:06
您的安装过程似乎是正确的(只需解压缩并使用gacutil -i进行安装)。我认为这个示例有一个小问题--需要显式打开的模块中可以使用ToLinqExpression扩展方法,所以您的文件应该是:
编辑正确的模块名实际上是Microsoft.FSharp.Linq.QuotationEvaluation
open Microsoft.FSharp.Linq.QuotationEvaluation
let adderExpr = <@ fun i -> i + 1 @>.ToLinqExpression()
let adder = <@ fun i -> i + 1 @>.Compile()https://stackoverflow.com/questions/6206406
复制相似问题