C#单元测试:无法加载DLL' sqlite3':无法找到指定的模块

时间:2014-08-20 02:03:41

标签: c# .net sqlite

我开始尝试找出一些SQLite,我试图建立一个单元测试项目 - 但我似乎无法让它运行。我使用NuGet来抓住以下内容:

  • SQLite.Net PCL
  • 源码网
  • System.Data.SQLite

一切都编译得很好,但是当我尝试运行像初始化代码一样简单的东西时,我得到:

  

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

现在我知道这意味着无法找到参考 - 我在这里遗漏了什么吗?谢谢。

1 个答案:

答案 0 :(得分:1)

sqlite3是一个外部的非CLR dll,它是必需的。我的猜测是你从单元测试库中引用你的项目,而不是将非托管dll复制到单元测试的目录中(或者甚至在你的主项目中,取决于所使用的软件包,我不会&#39 ; t知道它们是否真的包含了dll)。

这是一个处理类似问题的SO问题。由于您要部署到Android,并在Windows(?)中进行开发,因此您的单元测试需要的版本与使用Android应用程序部署的版本不同。

Unable to load DLL 'sqlite3': The specified module could not be found

如果您查看引用的SO答案中的信息,您可以看到他们已将sqlite3.dll文件复制到相应的bin目录,以便托管包装器在需要时查看并调用它。