如何在Mac OS上设置fsharpc的包路径

时间:2014-12-09 20:45:55

标签: f# mono nuget

我在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无法找到我的库。我该如何解决?

1 个答案:

答案 0 :(得分:3)

编译器不会自动查看所有库。您需要使用-r显式命名应该引用的库:

fsharpc --lib:lib -r:nunit.framework.dll -r:FsUnit.NUnit.dll -r:FsCheck.dll some.fs