错误:找不到SQLite.Interop.dll

时间:2016-01-23 18:45:27

标签: c# .net sqlite dll

我的应用程序包含2个项目:App(带有EXE)和AppLib(带有不同类的库)。我将带有NuGet的SQLite添加到AppLib-Libary中,因为处理数据库内容的所有类都位于那里。

App
|--App
|--AppLib

计划是,我的App-Project调用,而数据库是表格。当我构建我的项目时,我的App.exe和AppLib.dll以及所有SQLite-dll都被复制到App / bin / Debug。

但是,如果我运行我的程序,我得到错误,SQLite.Interop.dll丢失。这些dll存在于AppLib中:

App\AppLib\bin\Debug\x86\SQLite.Interop.dll
App\AppLib\bin\Debug\x64\SQLite.Interop.dll

但它们不会复制到App \ App \ bin \ Debug。

我如何管理?

PS:我正在使用Visual Studio 2015

3 个答案:

答案 0 :(得分:0)

如果您从nugets安装Sqlite,则应该有两个文件夹,其中包含调试或发布文件夹中的Sqlite.Interop.dll。

.. \ BIN \调试\ X86 要么 \ BIN \调试\ 64

您应根据应用程序的架构选择正确的版本。

我希望我很清楚。

答案 1 :(得分:0)

我最近遇到了同样的问题,关键是您的第一句话。您的解决方案中有多个项目。如果您在子项目中使用SqLite,则还需要在父项目中安装该软件包,否则找不到Interop DLL。 我还没有进行发布的步骤,所以不知道在那一步会发生什么。

答案 2 :(得分:0)

SQlite.Interop不可引用,您必须:

  1. 在您的VS项目中添加现有文件:Sqlite.Interop.dll实际 位置是。\ bin \ Debug \ x86或\ bin \ Debug \ x64
  2. 选择属性并在“内容”中设置“编译操作”,然后复制到输出目录=“始终复制”
  3. 重建