无法加载DLL的’sqlite3’:找不到指定的模块

我有一段时间让我的测试针对我的SQLite数据提供程序运行。

我已经在stackoverflow上查看了建议的链接,但它们似乎都没有让我走上正确的道路。

我已经为sqlite3.dll下载了Windows 预编译二进制文件

我已将sqlite3.dll复制到我的Sqlite\bin目录以及我的Tests\bin目录中 dll复制到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" ".\") 

当我添加以下库时,错误就消失了

  1. Microsoft Visual C ++运行时包(V11.0)
  2. SQLite for Windows Runtime(V3.8.7.1)

当我添加以下库时,错误就消失了

不能把它放在评论中,所以这就是我得到的: 在此处输入图像描述

另外,看看类似的问题 。

最后,但并非最不重要的是,您是否尝试添加对SQLite.Inetrop.dll的引用(在引用中)? 引用 – >添加 – >只需浏览到您的SQLite所在的位置,选择查看全部,并添加对Interop.dll的引用)

我正在使用VS2017并通过添加以下任务来解决问题以复制程序集。