我需要安装使用F# powerpack .
我在 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
使用电源组
我用 this page 中的示例代码进行了测试.我将其命名为 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):错误 FS0039:未定义字段、构造函数或成员“ToLinqExpression”
/Users/smcho/Desktop/fs/powerpack/linq.fs(2,34):错误 FS0039:未定义字段、构造函数或成员“编译”
gacutil -i
安装所有的dll吗? ?或者,只是将 dll 路径附加到 PATH/MONO_PATH 环境变量就足够了? 最佳答案
您的安装过程似乎是正确的(只需解压缩并使用 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()
关于f# - 如何在 Mono 中安装和使用 F# Powerpack?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6206406/