SQLite: sqlite3.dll与System.Data.SQLite.dll有何区别?

5
我需要使用NHibernate与SQLite(以及FluentNHibernate),我需要什么?
有以下内容:
- http://sourceforge.net/projects/sqlite-dotnet2/提供的System.Data.SQLite.dllSystem.Data.SQLite.Linq.dll(ADO.NET 2.0提供程序) - sqlite3.dll可作为二进制下载http://www.sqlite.org/download.html 有什么区别? 我需要两个还是其中一个?
第一个选项安装到C:/ ... Program Files。 我可以将其从那里复制到我的自定义SharedLibs文件夹中,还是某些东西会引用最初安装的文件?

我认为您混淆了文件名和下载位置。 - Stefan Steinegger
1个回答

11
您只需要使用 System.Data.SQLite.dll 文件。您可以在 SharedLibs 文件夹中引用此程序集,这应该就足够了。 sqlite3.dll 是包含数据库引擎本身的非托管代码,并作为资源嵌入到托管的 System.Data.SQLite 程序集中。由于这个非托管代码,实际上有两个版本的 System.Data.SQLite 程序集:一个是 x86 版本,一个是 x64 版本,因此请确保引用适合您系统的正确版本。
您可以从这里下载这个程序集: http://sqlite.phxsoftware.com/

1
我赞同Darin的建议。为了澄清,System.Data.SQLitesqlite-dotnet2是两个完全独立的项目。我使用过System.Data.SQLite并且非常满意——他们有活跃的论坛等。 - Stephen Cleary
它看起来不像是一个独立的项目 - http://sqlite.phxsoftware.com/ 的下载链接指向 sqlite-dotnet2 的 sourceforge 页面。 - Michael Low
我在win7上的VS2013中安装了Package System.Data.SQLite.x64,但是出现了错误:在Devart.Data.SQLite.dll中发生了未处理的类型为'System.DllNotFoundException'的异常 附加信息:无法加载DLL 'sqlite3':找不到指定的模块。(来自HRESULT的异常:0x8007007E) - user3448011
@user3448011 可能值得仔细检查您安装的内容。因为在 DEVART.Data.SQLite.dll 中发生错误表明它是一个不同的 SQLite 驱动程序。 - fostandy

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