无法加载DLL的’sqlite3’:找不到指定的模块
我有一段时间让我的测试针对我的SQLite数据提供程序运行。
我已经在stackoverflow上查看了建议的链接,但它们似乎都没有让我走上正确的道路。
我已经为sqlite3.dll下载了Windows 预编译二进制文件
我已将sqlite3.dll复制到我的Sqlite\bin
目录以及我的Tests\bin
目录中
不幸的是,当我运行我的测试时,我收到以下错误
有没有明确的方法让我的Windows开发环境(现在的主要目标)以及在Android和IOS中运行(在不久的将来需要)?
此外,如果重要,这里是我的Sqlite项目参考。
所以我的答案很简单。 我连接了一个Pre-Build事件,用于检查机器的体系结构,并将相应的dll复制到输出bin目录中。
现在我们团队中的任何人都可以简单地运行REBUILD
,并且可以使用正确的dll来运行SQLite。
if '$(PROCESSOR_ARCHITECTURE)'=='AMD64' (xcopy /y "$(ProjectDir)x64\sqlite3.dll" ".\") if '$(PROCESSOR_ARCHITECTURE)'=='x86' (xcopy /y "$(ProjectDir)x86\sqlite3.dll" ".\") if '$(PROCESSOR_ARCHITEW6432)'=='AMD64' (xcopy /y "$(ProjectDir)x64\sqlite3.dll" ".\")
当我添加以下库时,错误就消失了
- Microsoft Visual C ++运行时包(V11.0)
- SQLite for Windows Runtime(V3.8.7.1)
不能把它放在评论中,所以这就是我得到的:
另外,看看类似的问题 。
最后,但并非最不重要的是,您是否尝试添加对SQLite.Inetrop.dll的引用(在引用中)? 引用 – >添加 – >只需浏览到您的SQLite所在的位置,选择查看全部,并添加对Interop.dll的引用)
我正在使用VS2017并通过添加以下任务来解决问题以复制程序集。