gpt4 book ai didi

sqlite - 使用 SQLProvider 和 SQLite 的 ResolutionPath 问题

转载 作者:行者123 更新时间:2023-12-03 15:59:50 25 4
gpt4 key购买 nike

尝试将 F# SQLProvider 与 SQLite 一起使用时,我不断收到错误消息 The type provider 'FSharp.Data.Sql.SqlTypeProvider' reported an error: Unable to load DLL 'SQLite.Interop.dll': The specified module could not be found.代码:

open FSharp.Data.Sql

let [<Literal>] resolutionPath1 =
__SOURCE_DIRECTORY__ + @"..\..\packages\System.Data.SQLite.Core.1.0.102.0\build\net46\x86\"
let [<Literal>] resolutionPath2 =
@"f:\proj\WanLog\packages\System.Data.SQLite.Core.1.0.102.0\build\net46\x86"

let [<Literal>] connectionString =
"Data Source=" + @"F:\proj\WanLog\WanLog\bin\Debug\WanIPLog.s3db"

type sql = SqlDataProvider<
ConnectionString = connectionString,
DatabaseVendor = Common.DatabaseProviderTypes.SQLITE,
ResolutionPath = resolutionPath2,
IndividualsAmount = 1000,
UseOptionTypes = true >
我已经尝试了相对路径和绝对路径(resolutionPath1 和resolutionPath2),并验证了SQLite.Interop.dll 实际上存在于resolutionPath2 中引用的目录中。
目标框架和 CPU、.NET 4.6 和 x86 与指定目录(以\net46\x86 结尾)是 AFAIK 同步的。我错过了什么?
更新:
我已经更新了 SQLProvider SQLite documentation根据这个问题的答案。
更新 2:
System.Data.SQLite 在 1.0.104.0 版本中解决了这个问题。见 this discussion .

最佳答案

将您的解析路径更改为以下内容,这应该同时包含 SQLiteInterop.dllSystem.Data.SQLite.dll , 如果文件不存在,请复制该文件:

packages\System.Data.SQLite.Core.1.0.102.0\lib\net46



查看 File.Exists如有必要。顺便说一下,您确定 x86 版本正确吗?我会为 x64 构建并在那里复制 x64 dll。顺便说一句,我也会引用和 open System.Data.SQLite .

关于sqlite - 使用 SQLProvider 和 SQLite 的 ResolutionPath 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38776391/

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