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.