我在Mac OS上使用NuGet安装了FsUnit。我已将dll-s复制到lib文件夹:
$ ls -la lib
total 1336
drwxr-xr-x 5 demas staff 170 Dec 9 23:39 .
drwxr-xr-x 17 demas staff 578 Dec 9 23:39 ..
-rw-r--r-- 1 demas staff 488448 Dec 9 23:21 FsCheck.dll
-rw-r--r-- 1 demas staff 39424 Dec 9 23:20 FsUnit.NUnit.dll
-rw-r--r-- 1 demas staff 151552 Dec 9 23:20 nunit.framework.dll
这是我的代码:
#light
namespace Tests
open NUnit.Framework
open FsUnit
module module1 =
let inline public Square x = x * x;
现在我正在尝试编译我的代码,但收到错误消息:
$ fsharpc --lib:lib some.fs
F# Compiler for F# 3.1 (Open Source Edition)
Freely distributed under the Apache 2.0 Open Source License
/Users/demas/temporary/under/some.fs(3,6): error FS0039: The namespace or module 'NUnit' is not defined
/Users/demas/temporary/under/some.fs(4,6): error FS0039: The namespace or module 'FsUnit' is not defined
/Users/demas/temporary/under/some.fs(9,7): error FS0039: The type 'TestFixture' is not defined
看起来fsharpc
无法找到我的库。我该如何解决?
答案 0 :(得分:3)
编译器不会自动查看所有库。您需要使用-r
显式命名应该引用的库:
fsharpc --lib:lib -r:nunit.framework.dll -r:FsUnit.NUnit.dll -r:FsCheck.dll some.fs