【发布时间】: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