SqlDataProvider无法解析分辨路径

3
我曾尝试在.NET Core 2.0和以.NET 4.5为目标的Mono上使用它,但无论哪种情况都会出现错误:“类型提供程序“FSharp.Data.Sql.SqlTypeProvider”报告了一个错误:无法解析程序集。必须在以下路径中存在Npgsql.dll之一: /Users/mgaff/crypt/test/packages/Npgsql /Users/mgaff/crypt/test/packages/SQLProvider/lib”,我将dll的路径复制到了VS Code中,并将其用作解决方案路径,但数据提供程序并未看到它。下面的示例基本上是从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
重点是您必须使用Mono进行编译,并使用.NET Core作为执行时库。请参阅以下工作示例:https://github.com/fsprojects/SQLProvider/tree/master/tests/SqlProvider.Core.Tests/Postgres - Tuomas Hietanen
1个回答

1

1
谢谢您的帮助,但我在3.1.10版本中仍然遇到相同的错误。这是我第一次在F#和.Net中设置项目,所以很可能是我做错了其他事情。至于dotnet core,我尝试实现了在此处https://github.com/Microsoft/visualfsharp/issues/3303看到的解决方法,并且能够构建,但仍然处理包中的错误。可能会继续前进并尝试运行其他东西。 - Max Gaffney

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接