2013-01-04 53 views
2

我想解决如何在VS2012 Express中使用ADO.Net Sqlite而没有运气。VS2012EXPRESS Ado.Net SQLite缺少DLL问题

事情我可是从begining做:

  1. 启动新项目并安装 “System.Data.SQLite(在x86/x64)” 通过为的NuGet解决方案。
  2. using System.Data.SQLite;添加到指令。
  3. 编写简单的代码,如:

    SQLiteConnection sql_sck =新SQLiteConnection( “数据源= test.sqlite;版本= 3;新= FALSE;压缩= TRUE;”);

一切似乎看起来没问题,VS认出类名并改变它们的颜色。然而,在运行该程序后,在sql_sck ...行中,引发异常 - 关于丢失的DLL?

An unhandled exception of type 'System.DllNotFoundException' occurred in System.Data.SQLite.dll 
Additional information: Could not load DLL 'SQLite.Interop.dll': Could not find specified module. (Exception HRESULT: 0x8007007E) 

任何想法如何使这项工作?有什么我做错了/任何步骤失踪?

回答

2

某处Visual Studio将创建SQLite.Interop.DLL。您需要找到该DLL并将其复制到与应用程序的可执行文件相同的目录中。

我通常会将Interop DLL添加到我的项目中作为参考,并将它们标记为复制到输出目录以确保使用项目的其他人不会忘记手动步骤。

+1

完成。和工作。 VS正在将应用程序工作目录中的分隔文件夹放入分隔的子文件夹中。所以我想我只需要为每个架构复制精确的dll。谢谢。 –

+0

是的 - 我们必须这么做 - 我们有X86和X64的子目录 – debracey