Linux上でfsharpコードから外部アセンブリを使用しようとしていますが、他の人が見ている "-r:filename.dll"それはまだ私のために失敗している。Linux上でfsharpcを使用してNugetから.dllにアクセスする方法
まず、ソースコード:あなたが見ることができるように
[email protected]:~/dev/fsharp$ cat sqlp.fs
open FSharp.Data.SqlProvider
printfn "hw, sp"
、私はそれで何もしていない、パッケージを開封しています。
第二には、のが私のnugetディレクトリを見てみましょう:
[email protected]:~/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を呼び出しています方法を見てみましょう:私はやって他の人を見てきたよう
[email protected]:~/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
私は、「--fullpaths」と一緒に、DLLファイルへの絶対パスを使用しています。それにもかかわらず、fsharpcはまだ名前空間を見つけることができません。
最後に、私のfsharpバージョンです。それはちょうど現代のubuntuの適切なから標準版です:
[email protected]:~/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
私は簡単なプログラムをコンパイルすることができます。
何か助けていただければ幸いです。ありがとう!
open FSharp.Data.Sql
なくFsharp.Data.Sqlprovider
:に必要なSqlProviderを使用するには
オープンする必要があるネームスペースは、Sqlproviderを使用するには 'FSharp.Data.Sql'だと思います。 VSCodeまたはVisual Studioでこれを編集していた場合は、すでにいくつかのエラーが表示されているはずです。 – s952163
@ s952163、それは確かに私の問題でした!どうもありがとう。 –