我开始在 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.