Could not load file or assembly system.data.sqlite.dll or one for it's depedencies

最近做一个winform项目,因为数据库用的表很少,所以用的是轻量级数据库sqlite。sqlite的优点很多,但是他要分两个版本,32位或者64位,不能同时兼容。

我遇到的问题是,我在开发端用的是.net4.5的开发版本的dll:

Precompiled Binaries for 64-bit Windows(.NET Framework 4.5)

我在开发端直接调用这个dll都是OK的,没有问题。但是我把程序部署到客户机上的时候,就会出现报错

Could not load file or assembly System.sqlite.dll or one of it's depedencies 无法找到模块

网上另外一个人zhu2695说的是缺少一个Visual C++ runtime library,这个我没试,我不知道我的客户机是不是这个原因。我的解决方法是在客户机安装相应的sqlite的安装程序,安装之后,就可以解决问题了,下面附上32位和64位的下载链接,直接安装就可以了。


32位:http://system.data.sqlite.org/downloads/1.0.96.0/sqlite-netFx45-setup-bundle-x86-2012-1.0.96.0.exe

64位:http://system.data.sqlite.org/downloads/1.0.96.0/sqlite-netFx45-setup-bundle-x64-2012-1.0.96.0.exe


要下载混合模式的安装文件,否则不能起作用。

我还想翻译一下sqlite官网.net版本下载的第一段话:

大体的意思是所有这页面的下载文件都没有包含“static”这个词,所以为了在目标机器上成功的执行你的程序,你需要安装合适的版本的Microsoft Visual C++ Runtime Library。同时应该注意到那些包含"setup"的安装包,已经包含了Microsoft Visual C++ Runtime Library的安装包。

这大概就解释了为什么我安装了sqlite的setup文件之后我的客户机就正常的原因了吧。

相关文章

安装 在Windows上安装SQLite。 访问官网下载下Precompliled Binaries for Windows的两个压缩包。 创建s...
一、安装 下载地址:http://www.sqlite.org/download.html 将Precompiled Binaries for Windows下的包下...
实例: 会员信息管理 功能:1.查看数据库 2.清空数据库 3.增加会员 4.删除会员 5.更新会员 6.查找会员  ...
关于SQLite SQLite是一个轻量的、跨平台的、开源的数据库引擎,它的在读写效率、消耗总量、延迟时间和整...