gpt4 book ai didi

.net - 如何在 Linux 上使用 fsharpc 从 Nuget 访问 .dll

转载 作者:太空狗 更新时间:2023-10-29 12:41:45 24 4
gpt4 key购买 nike

我正在尝试在 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com