1

Mac OS X で F# を使いこなそうとしていますが、うまく動作しません (F# のバージョンは 3.1 で、Mono のバージョンは 4.0.2 です)。依存関係の管理にパケットを使用しており、既にいくつかのライブラリをインストールしています。これは私のpacket.dependenciesファイルがどのように見えるかです:

source https://nuget.org/api/v2

nuget Neo4jClient >= 1.0.0.664
nuget FsCheck

関連する依存関係を取得した後、フォルダーmono .paket/paket.exe installに正常にダウンロードされました。packages自動生成されpacket.lockたファイルは次のようになります。

NUGET
  remote: https://nuget.org/api/v2
  specs:
    FsCheck (2.0.5)
      FSharp.Core (>= 3.1.2.5)
    FSharp.Core (4.0.0.1)
    Microsoft.Bcl (1.1.10)
      Microsoft.Bcl.Build (>= 1.0.14)
    Microsoft.Bcl.Build (1.0.21)
    Microsoft.Net.Http (2.2.29)
      Microsoft.Bcl (>= 1.1.10)
      Microsoft.Bcl.Build (>= 1.0.14)
    Neo4jClient (1.0.0.664)
      Microsoft.Net.Http
      Newtonsoft.Json (>= 6.0.3)
    Newtonsoft.Json (7.0.1)

.fs ファイル内でそのようなライブラリを参照しようとしています:

#if INTERACTIVE
#r "./packages/FsCheck/lib/net45/FsCheck.dll"
#endif

open FsCheck

open FsCheckステートメントは で失敗しThe namespace or module 'FsCheck' is not definedます。

私は何を間違っていますか?

編集:

.fsx(の代わりに)に切り替えて、パーツ.fsを削除すると#if正常に機能します。それを.fsコンパイルしますが、実行する.exeと次の例外が発生します(.dllデフォルトでバンドルされていないことを意味することを理解しています。その場合、一般的な慣行は何なのか疑問に思います):

Unhandled Exception:
System.IO.FileNotFoundException: Could not load file or assembly 'FsCheck, Version=2.0.5.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies.
4

2 に答える 2