首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用akka.dll在mono中找到F#

无法使用akka.dll在mono中找到F#
EN

Stack Overflow用户
提问于 2016-01-08 06:57:46
回答 2查看 374关注 0票数 1

我想用mono在OSX上试用akka.net F# API。因为我只是在玩,所以我想我应该添加一个简单的脚本文件来开始,但是当我尝试创建参与者系统时,它失败了。用于再现错误的简单.fsx:

代码语言:javascript
复制
#r "./packages/Akka/lib/net45/Akka.dll"
#r "./packages/FsPickler/lib/net45/FsPickler.dll"
#r "./packages/FSPowerPack.Linq.Community/lib/net40/FSharp.PowerPack.Linq.dll"
#r "./packages/Akka.FSharp/lib/net45/Akka.FSharp.dll"

open Akka.FSharp

let system = System.create "my-system" (Configuration.load())

错误信息很清楚,我认为:

Users/tomasjansson/git/suave_akka_react/stdin(0,1):error FS0078:无法在任何/Library/Frameworks/Mono.framework/Versions/4.2.1/lib/mono/4.5/ User/tomasjansson/git/suave_akka_react/Library/Frameworks/Mono.framework/Versions/4.2.1/lib/mono/4.5/中找到“Akka.dll”文件 /Users/tomasjansson/git/suave_akka_react/stdin(0,1):error FS0078:无法在任何/Library/Frameworks/Mono.framework/Versions/4.2.1/lib/mono/4.5/ User/tomasjansson/git/suave_akka_react/Library/Frameworks/Mono.framework/Versions/4.2.1/lib/mono/4.5/中找到文件'Akka.dll‘,因为:无法加载文件或程序集或其依赖项之一,因此无法加载Akka.FSharp.System:create签名。装配:Akka,Version=1.0.5.15,Culture=neutral,PublicKeyToken=null类型:

我找不到Akka.dll,但是我在文件的开头引用它。怎么一回事?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-08 17:23:12

这是密码。我能让它在OSX上使用mono。我使用paket下载脚本中的依赖项。在交互式会话中,必须引用脚本路径。

代码语言:javascript
复制
open System
open System.IO

Environment.CurrentDirectory <- __SOURCE_DIRECTORY__

if not (File.Exists "paket.exe") then
    let url = "http://fsprojects.github.io/Paket/stable"
    use wc = new Net.WebClient() in let tmp = Path.GetTempFileName() in let stable = wc.DownloadString(url) in wc.DownloadFile(stable, tmp); File.Move(tmp,Path.GetFileName stable)

#r "paket.exe"

Paket.Dependencies.Install """
    source https://nuget.org/api/v2
    nuget Akka
    nuget FsPickler
    nuget FSPowerPack.Core.Community
    nuget FSPowerPack.Linq.Community
    nuget Akka.FSharp
""";;

#I "./packages/Akka/lib/net45"
#I "./packages/Akka.FSharp/lib/net45"
#I "./packages/FsPickler/lib/net45"
#I "./packages/FSPowerPack.Core.Community/Lib/net40"
#I "./packages/FSPowerPack.Linq.Community/Lib/net40"
#I "./packages/Newtonsoft.Json/lib/net45"


#r "Akka.dll"
#r "FsPickler.dll"
#r "FSharp.PowerPack.Linq.dll"
#r "Akka.FSharp.dll"

open Akka.FSharp

let system = System.create "my-system" (Configuration.load())
票数 4
EN

Stack Overflow用户

发布于 2016-01-08 08:41:38

尝试将其添加到文件#I "./packages/Akka/lib/net45"的顶部。

不知道为什么,它可能被编译成期望本地副本或类似的东西。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34671171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档