最近在使用SQLite数据库时,使用的是linq2db.SQLite框架,正常编译状态下未报任何错误,只是在项目打包的时候出现了错误,提示无法加载:“SQLite.Interop.dll”,找不到指定模块的问题,我们找到安装后的项目路径下缺失这个文件,解决方法倒是不难,吧对应版本的拷贝进去进行了。
猜想是不是在安装linq2db.SQLite的时候没有将SQLite.Interop.dll生成到Debug目录下,仔细看了一下Debug下有两个x64与x86的目录下是存在SQLite.Interop.dll文件的,因此是打包的问题,打包的时候没有将这两个目录加载上的问题,使安装后缺失这个文件,自然就会报错了。
其他异常,如InvalidOperationException: Cannot load assembly System.Data.SQLite
如果是SQLite数据库模块为独立Dll,那么在生成之后,客户端在调用的时候如果没有自动添加上相关引用,那么就会报此错误。比如缺失的文件,如System.Data.SQLite.dll