最近写应用程序需要用到SQLite数据库,首次接触这个第三方库遇到了些问题这里记录一下。
我在64位win7上做开发,用的是VS2012 C#,生成选项选的是X86。
SQLite官方提供了多种版本的dll下载,其中分32位、64位以及bundle、非bundle版本(还分预编译与源码,setup等版本,我用的都是预编译版本)。
一 bundle版本提供3个dll文件,相比非bundle少了一个SQLite.Interop.dll文件,使用时只要把这3个文件复制到项目文件夹下然后项目中引用一下即可(我用的是C#,其他环境我不知道什么情况,下同)。
二 使用非bundle版本时同样只把3个dll文件复制到项目文件夹并在项目中引用这3个dll文件,不同的是得另外把SQLite.Interop.dll复制到exe程序目录,项目中无需引用,否则程序会提示无法加载SQLite.Interop.dll文件。(奇怪的是这个SQLite.Interop.dll文件无法直接在项目中添加引用,会报错,不知道这个文件与普通dll有何区别)。
三 用64位bundle版本运行时提示加载错误格式的文件(不会提示无法加载SQLite.Interop.dll文件,因为该版本不需要这个文件)。
四 用64位非bundle版本提示无法加载SQLite.Interop.dll文件。
五 用32位非bundle版本正常运行。
32位bundle版本未测试。
有个网友遇到这个问题,虽然他提供的方法没解决我的问题,但是做个记录也好: