- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试在 Linux 上使用我的 fsharp 代码中的外部程序集,尽管遵循了我看到其他人使用的“-r:filename.dll”实践,但它对我来说仍然失败。
一、源码:
tlewis@dev-aug16:~/dev/fsharp$ cat sqlp.fs
open FSharp.Data.SqlProvider
printfn "hw, sp"
如您所见,我只是打开了包裹,并没有对其进行任何操作。
其次,让我们看看我的 nuget 目录:
tlewis@dev-aug16:~/dev/fsharp$ find nuget/
nuget/
nuget/SQLProvider.1.0.36
nuget/SQLProvider.1.0.36/SQLProvider.1.0.36.nupkg
nuget/SQLProvider.1.0.36/lib
nuget/SQLProvider.1.0.36/lib/FSharp.Data.SqlProvider.dll
如您所见,我只安装了一个包。
第三,让我们看看我是如何调用 fsharpc 的:
tlewis@dev-aug16:~/dev/fsharp$ fsharpc --warn:5 --nologo -g -r:/home/tlewis/dev/fsharp/nuget/SQLProvider.1.0.36/lib/FSharp.Data.SqlProvider.dll sqlp.fs --target:exe --fullpaths -o exe/sqlp.exe
/home/tlewis/dev/fsharp/sqlp.fs(1,18): error FS0039: The namespace 'SqlProvider' is not defined
我使用的是 dll 文件的绝对路径,以及“--fullpaths”,正如我看到其他人所做的那样。尽管如此,fsharpc 仍然找不到命名空间。
最后,这是我的 fsharp 版本;它只是现代 ubuntu 上 apt 的标准版本:
tlewis@dev-aug16:~/dev/fsharp$ dpkg -l fsharp
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-======================-================-================-==================================================
ii fsharp 4.0.0.4+dfsg2-2 all functional-first programming language - compiler f
我可以很好地编写简单的程序。
感谢任何帮助;谢谢!
最佳答案
要使用 SqlProvider,您需要:
打开 FSharp.Data.Sql
而不是 Fsharp.Data.Sqlprovider
。
参见 SqlProvider docs .
如果您可以先在 F# Interactive 中解决问题,它也会有所帮助。
关于.net - 如何在 Linux 上使用 fsharpc 从 Nuget 访问 .dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40318580/
我在 Yoghurt.Fruit.fs 中有此代码 module Yoghurt.Fruit open FSharp.Data type Fruit = JsonProvider let fru
我已经在 Mac OS 上使用 NuGet 安装了 FsUnit。我已将 dll-s 复制到 lib 文件夹: $ ls -la lib total 1336 drwxr-xr-x 5 demas
决定在我的 Mac(OSX 10.8、XCode 4.4)上首次尝试 F#。我下载了 Mono 3.0.3 并尝试编译一个简单的“Hello World”程序。进展并不顺利: $ cat Hello.
我正在尝试在 Linux 上使用我的 fsharp 代码中的外部程序集,尽管遵循了我看到其他人使用的“-r:filename.dll”实践,但它对我来说仍然失败。 一、源码: tlewis@dev-a
我是一名优秀的程序员,十分优秀!