f# - 如何在 Mono 中安装和使用 F# Powerpack?

标签 f# mono gac powerpack

我需要安装使用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)

安装。
  • here 下载 powerpack zip 文件.
  • 解压文件到目录~/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/

    相关文章:

    parsing - F# FParsec 解析乘法

    sql-server - 全局程序集缓存中的 Microsoft.SqlServer.Types.dll?

    f# - 为什么在大量情况下使用 struct 修饰 DU 时,F# 运行时会抛出无效程序错误?

    c# - Mono 3.2 中的行为与 Nancy Web 解决方案上的 DotLiquid 集合不一致

    .net - 单声道中的 P/调用

    c# - Monodevelop .Net 跨平台自定义绘图应用

    c# - 这是对 GAC 的有效使用吗?

    c# - 防止从 GAC 加载 dll

    F# : filtering None out and keeping only Some

    f# - 不确定递归排序功能?