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

Gav*_*vin 9 c# sqlite windows-phone-8

我正在尝试从我的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()}
Run Code Online (Sandbox Code Playgroud)
  • 我已经安装了适用于Windows Phone的Visual Studio扩展SQLite(v3.8.4.3).
  • 我已经安装了sqlite-net-wp8 NuGet包(v3.8.4.3).
  • 我已将SQLite.csSQLiteAsync.cs添加到我的项目中.
  • 我已将USE_WP8_NATIVE_SQLITE条件编译符号添加到我的项目中.

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

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

小智 39

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

    7.1右键单击项目,然后选择"属性".

    7.2选择"构建"选项卡.

    7.3在"配置"列表中,选择"所有配置".

    7.4在"平台"列表中,选择"所有平台".

    7.5在"构建"选项卡上,您将看到"常规"标题下的条件编译符号,其中包含Windows Phone应用项目上的默认值SILVERLIGHT; WINDOWS_PHONE.将值更改为SILVERLIGHT; WINDOWS_PHONE; USE_WP8_NATIVE_SQLITE并保存项目文件.

  8. 右键单击引用并选择添加引用.转到Windows Phone - > Extensions并选中SQlite for Windows Phone选项

这个对我有用!!祝好运

  • 谢谢 - 非常感谢!似乎我错过了第8步 - doh! (9认同)
  • 经过4个多小时的尝试,我发现了第8步! (3认同)
  • 您的帖子比msdn和sqlite文档更有帮助.做得好! (2认同)