2017-08-29 22 views
1

これを.NET Core 2.0で試してみました。いずれの場合も、エラーが発生するSqlDataProviderは解決パスを解決できません

"タイププロバイダ 'FSharp.Data.Sql.SqlTypeProvider'がエラーを報告しました:アセンブリを解決できません。Npgsql.dllの1つが、パス: /Users/mgaff/crypt/test/packages/Npgsql /Users/mgaff/crypt/test/packages/SQLProvider/lib "を参照してください。私はVSコードでdllへのパスをコピーし、それを解決パスとして使用していますが、データプロバイダはそれを見ていません。以下の例は、https://fsprojects.github.io/SQLProvider/core/postgresql.htmlからかなりコピーされています。助けを借りていただければ幸いです。おかげ

let [<Literal>] dbVendor = Common.DatabaseProviderTypes.POSTGRESQL 

let [<Literal>] connString = "Host=localhost;Database=mydb;User Id=mgaff;" 
let [<Literal>] resPath = 
@"/Users/mgaff/crypt/test/packages/Npgsql/lib/net45/" 

let [<Literal>] indivAmount = 1000 
let [<Literal>] useOptTypes = true 

type sql = 
    SqlDataProvider< 
     dbVendor, 
     connString, 
     "",   //ConnectionNameString can be left empty 
     resPath, 
     indivAmount, 
     useOptTypes> 
+1

私が最初に推測するのは、4.5より上位のバージョンが必要だということです。アセンブリが後で.NETバージョンの場合は、これが典型的なエラーメッセージです。私は.NET Coreがどんな場合でも動作するとは思わない。 – weismat

+0

主なポイントは、Monoを使用してコンパイルし、実行時ライブラリとして.NET Coreを使用することです。 https://github.com/fsprojects/SQLProvider/tree/master/tests/SqlProvider.Core.Tests/Postgres –

答えて

0

の.Net 4.5のチェックにはNpgsqlのバージョン(TL; DRはあなたが3.1.10を使用する必要があります - https://github.com/fsprojects/SQLProvider/issues/373を参照)の両方とDLLアーキテクチャ(32ビットまたは64ビット)。

上記のように、タイププロバイダはドットネットでは(まだ)動作しません。

+0

ご協力ありがとうございますが、私はまだバージョン3.1.10で同じエラーが発生しています。 。私がF#と.Netでプロジェクトを立ち上げるのはこれが初めてです。それが間違っている何か他のものになる可能性があります。 dotnet coreについては、https://github.com/Microsoft/visualfsharp/issues/3303にある回避策を実装しようとしましたが、ビルドはできましたが、パッケージでエラーを処理していました。たぶん動いて、何か他のものを稼働させようとするでしょう。 –

関連する問題