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

来源:互联网 发布:阿里云邮箱怎么登陆 编辑:程序博客网 时间:2024/05/20 14:20

最近做一个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文件之后我的客户机就正常的原因了吧。

0 0