无法使用 F# 在单声道中找到 akka.dll
Unable to find akka.dll in mono using F#
我想用单声道在 OSX 上试用 akka.net F# API。因为我只是在玩,所以我想我会添加一个简单的脚本文件来开始,但是当我尝试创建演员系统时它失败了。重现错误的简单 .fsx:
#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: Unable to find the file 'Akka.dll' in any of
/Library/Frameworks/Mono.framework/Versions/4.2.1/lib/mono/4.5
/Users/tomasjansson/git/suave_akka_react
/Library/Frameworks/Mono.framework/Versions/4.2.1/lib/mono/4.5/
/Users/tomasjansson/git/suave_akka_react/stdin(0,1): error FS0078: Unable to find the file 'Akka.dll' in any of
/Library/Frameworks/Mono.framework/Versions/4.2.1/lib/mono/4.5
/Users/tomasjansson/git/suave_akka_react
/Library/Frameworks/Mono.framework/Versions/4.2.1/lib/mono/4.5/
Could not load signature of Akka.FSharp.System:create due to: Could not load file or assembly or one of its dependencies. assembly:Akka, Version=1.0.5.15, Culture=neutral, PublicKeyToken=null type:
我找不到 Akka.dll,但我确实在文件开头引用了它。怎么回事?
尝试将其添加到文件的顶部 #I "./packages/Akka/lib/net45"
。
不知道为什么,它可能被编译为期望本地副本或类似的东西。
这是代码。我能够在 OSX 上让它在单声道上工作。我使用 paket 下载脚本中的依赖项。在交互式会话中,必须引用脚本路径。
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())
我想用单声道在 OSX 上试用 akka.net F# API。因为我只是在玩,所以我想我会添加一个简单的脚本文件来开始,但是当我尝试创建演员系统时它失败了。重现错误的简单 .fsx:
#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: Unable to find the file 'Akka.dll' in any of /Library/Frameworks/Mono.framework/Versions/4.2.1/lib/mono/4.5 /Users/tomasjansson/git/suave_akka_react /Library/Frameworks/Mono.framework/Versions/4.2.1/lib/mono/4.5/
/Users/tomasjansson/git/suave_akka_react/stdin(0,1): error FS0078: Unable to find the file 'Akka.dll' in any of /Library/Frameworks/Mono.framework/Versions/4.2.1/lib/mono/4.5 /Users/tomasjansson/git/suave_akka_react /Library/Frameworks/Mono.framework/Versions/4.2.1/lib/mono/4.5/ Could not load signature of Akka.FSharp.System:create due to: Could not load file or assembly or one of its dependencies. assembly:Akka, Version=1.0.5.15, Culture=neutral, PublicKeyToken=null type:
我找不到 Akka.dll,但我确实在文件开头引用了它。怎么回事?
尝试将其添加到文件的顶部 #I "./packages/Akka/lib/net45"
。
不知道为什么,它可能被编译为期望本地副本或类似的东西。
这是代码。我能够在 OSX 上让它在单声道上工作。我使用 paket 下载脚本中的依赖项。在交互式会话中,必须引用脚本路径。
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())