F#のRabbitMQを使用している小さなライブラリがVisual Studioを使用して正常に動作しています。Xamarin StudioでF#interactiveを使用しているときのメソッド引数の数が正しくありません
最新の(6.1)Xamarin Studioでロードしようとすると、ライブラリは正常にコンパイルされますが、F#のインタラクティブなソースファイルを読み込もうとすると、特定のメソッドの引数の数が正しくないという不満があります。
たとえば、RabbitMQ IModel.ExchangeDeclareには、2つ、3つ、5つの引数を持つ3つのオーバーロードがあります(Xamarin Assembly Browserを使用して確認できます)。ライブラリは5つの引数を持つオーバーロードを使用しています。 F#インタラクティブは5つの引数を持つオーバーロードがないことを示すエラーを出力するので、RabbitMQ APIメソッドをインタラクティブに実行することはできません。プロジェクトはうまくコンパイルされます。このエラーはRabbitMQとは関係ありませんが、なぜF#Interactiveは混乱するのでしょうか?
少なくとも単純な例を投稿してください。しかし、あなたは別のDLLを参照しています。 –
上記のように、5つの引数を指定したExhangeDeclare呼び出しは失敗します。 Channel.ExchangeDeclare(queueExchange.ExchangeName、exchangeName、queueExchange.Durable、false、queueExchange.Arguments)。 他のRabbitMQ.dllを検索します。これまではこれは奇妙に見えます。 –
はい、あなたが正しいと言いました。これは参照されているものです: 参照 '/Library/Frameworks/Mono.framework/Versions/4.4.0/lib/mono/4.5/RabbitMQ.Client.dll'(ファイルはF#Interactiveによってロックされている可能性がありますプロセス) 質問は今:私はこれを上書きする必要がありますか?私は正しいパスを参照する#Iステートメントを持っています。 –