【问题标题】:Confusion about System.Data.SQLite.dll关于 System.Data.SQLite.dll 的困惑
【发布时间】:2009-11-03 15:27:30
【问题描述】:

http://sqlite.phxsoftware.com/ 网站讨论了混合模式程序集和提供程序的仅托管版本。它们都命名为 System.Data.SQLite.dll 吗?我在 Windows 中安装了仅限托管的版本,它正在工作。据我了解,这意味着我还必须在我的机器上找到它所找到的本地 sqlite3.dll 文件,对吗?

当我尝试让我的程序集在带有 Mono 的 Linux 上运行时,我收到了一个 EntryPointNotFoundException,正在寻找 sqlite3_open_v2。因此,我从http://www.sqlite.org/download.html 下载了没有 TCL 绑定的 Linux 预编译共享库,并将其放在与其他程序集相同的文件夹中。但这并没有改变什么。

http://www.mono-project.com/Interop_with_Native_Libraries 的页面说 Linux 将查看我的 LD_LIBRARY_PATH 环境变量。所以我将它设置为包含“。”,即当前目录。那也没用。

然后我将 sqlite-3.6.19.so 复制到 sqlite-3.so、sqlite3.so 和 sqlite.so。还是没有变化。

我错过了什么?

【问题讨论】:

  • 请提供完整的错误信息,并像这样运行您的程序:MONO_LOG_LEVEL="debug" MONO_LOG_MASK="dll" mono app.exe

标签: database linux mono sqlite


【解决方案1】:

我决定在 Windows 和 Linux 上都使用 Mono.Data.Sqlite.dll,而不是在 Windows 和 Linux 上使用 System.Data.SQLite.dll。

【讨论】:

  • 我认为问题的根源在于它仍在系统的其他地方使用旧版本的 SQLite。
猜你喜欢
  • 2019-05-17
  • 2020-03-06
  • 2016-03-16
  • 2013-07-27
  • 1970-01-01
  • 2012-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多