WP8 SQLite错误:找不到指定的模块

时间:2014-04-21 09:59:38

标签: c# windows-phone-8 sqlite

我正在尝试从我的Windows Phone 8应用程序访问SQLite数据库,但每当遇到SQLite代码时遇到以下错误:

{System.IO.FileNotFoundException: The specified module could not be found. (Exception from HRESULT: 0x8007007E)
   at System.StubHelpers.StubHelpers.GetWinRTFactoryObject(IntPtr pCPCMD)
   at Sqlite.Sqlite3.sqlite3_open_v2(String filename, Database& db, Int32 flags, String zVfs)
   at SQLite.SQLite3.Open(String filename, Database& db, Int32 flags, IntPtr zVfs)
   at SQLite.SQLiteConnection..ctor(String databasePath, SQLiteOpenFlags openFlags, Boolean storeDateTimeAsTicks)
   at TopoMap.Map.MapTileServer.<Initialise>d__0.MoveNext()}
  • 我已经安装了Visual Studio扩展程序 SQLite for Windows Phone (v3.8.4.3)。
  • 我已经安装了 sqlite-net-wp8 NuGet包(v3.8.4.3)。
  • 我已将 SQLite.cs SQLiteAsync.cs 添加到我的项目中。
  • 我已将 USE_WP8_NATIVE_SQLITE 条件编译符号添加到我的项目中。

项目运行正常,没有任何问题,直到访问基础Sqlite3类的一行代码。

任何想法可能是什么问题?

1 个答案:

答案 0 :(得分:39)

  1. 从解决方案中删除对sqlite的所有引用
  2. http://visualstudiogallery.msdn.microsoft.com/cd120b42-30f4-446e-8287-45387a4f40b7
  3. 安装适用于WP8的Sqlite
  4. 重新启动Visual Studio。就我而言,它是Visual Studio 2013。
  5. 打开您想要使用sqlite的解决方案
  6. 使用包管理器控制台安装sqlite-net。输入以下命令:Install-package sqlite-net
  7. 安装sqlite-net-wp8。输入以下命令:Install-package sqlite-net-wp8
  8. 添加编译cofiguration

    7.1右键单击项目,然后选择“属性”。

    7.2选择Build选项卡。

    7.3在“配置”列表中,选择“所有配置”。

    7.4在“平台”列表中,选择“所有平台”。

    7.5在Build选项卡上,您将看到General标题下的条件编译符号,在Windows Phone应用程序项目中包含默认值SILVERLIGHT; WINDOWS_PHONE。将值更改为SILVERLIGHT; WINDOWS_PHONE; USE_WP8_NATIVE_SQLITE并保存项目文件。

  9. 右键单击“引用”并选择“添加引用”。转到Windows Phone - &gt;扩展并检查选项SQlite for Windows Phone

  10. 对我有用!! 祝你好运