2017-08-27 4 views
3

私はAkka.NET F#APIを探していました。良いC#のドキュメントがあるにもかかわらず、それを見つけることができませんでした。 2017年3月のコードが見つかったようですが、残念ながら実行しようとすると例外が生成されます。このAkka.NETコードで何が問題になっていますか?

2つの質問

1)以下のコードで何が問題になっていますか?

2)Akka.Net F#APIのオンラインドキュメントがありますか?はいの場合はどこですか?

観測:私はオンラインで見つかったいくつかの他のF#Akka.NETスニペットを試してみましたが、そのすべてが例外を生成しました。

コードのURLは次のとおりです。

https://www.seventeencups.net/building-a-mud-with-f-sharp-and-akka-net-part-one/

そして、ここで私が実行しようとしたコードです:

open System 
open Akka.Actor 
open Akka.Configuration 
open Akka.Remote 
open Akka.FSharp 

let system = System.create "system" (Configuration.defaultConfig()) 

type GreeterMsg = 
    | Hello of string 
    | Goodbye of string 

let greeter = spawn system "greeter" <| fun mailbox -> 
    let rec loop() = actor { 
     let! msg = mailbox.Receive() 

     match msg with 
     | Hello name -> printf "Hello, %s!\n" name 
     | Goodbye name -> printf "Goodbye, %s!\n" name 

     return! loop() 
    } 
    loop() 

例外メッセージには以下が含まれます。

System.TypeLoadException: Method 'WatchWith' in type '[email protected]' from assembly 'Akka.FSharp, Version=1.2.3.41, Culture=neutral, PublicKeyToken=null' does not have an implementation

は、

答えて

4

WatchWithメソッドがAkka.NET v1.3で導入されましたが、Akka.FSharp v1.2.3を使用しています。 Akkaの依存関係を1.2.3にダウングレードする必要があります(この時点でAkka.FSharpはv1.3ではまだ利用できません)。

+0

これは機能しました! Akka.FSharp APIに関する詳細情報を入手できるURLがありますか? というリンクがありますが、このメッセージが表示されます:あなたが探しているリソースが削除された、名前が変更された、または一時的に利用できない。 – Soldalma

+1

Akka.FSharp APIは本質的に1つのファイルであり、それ自体ではドキュメントがありません。別のAPI(https://github.com/Horusiath/Akkling)があり、github wikiページが添付されています。しかし、そのAPIはより流暢であり、時間とともに変化する可能性があります。 – Horusiath

+0

ありがとう@horusiath。あなたは、FSharp APIに関しては、多くの手助けをしています。 – himekami

関連する問題