2014-04-21 107 views
9

我試圖訪問從我的Windows Phone 8應用SQLite數據庫,但我遇到下面的錯誤,每當SQLite的代碼被擊中:WP8 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()} 
  • 我已經爲Windows Phone(v3.8.4.3)安裝了Visual Studio擴展SQLite。
  • 我已經安裝了sqlite-net-wp8 NuGet包(v3.8.4.3)。
  • 我已經添加SQLite.csSQLiteAsync.cs到我的項目。
  • 我已將USE_WP8_NATIVE_SQLITE條件編譯符號添加到我的項目中。

該項目運行良好,沒有問題,直到訪問底層Sqlite3類的代碼行被觸發。

任何想法可能是什麼問題?

回答

39
  1. 刪除所有引用從溶液
  2. 對於SQLite從http://visualstudiogallery.msdn.microsoft.com/cd120b42-30f4-446e-8287-45387a4f40b7
  3. 重新啓動Visual Studio爲WP8安裝sqlite的。在我的情況下,它是Visual Studio 2013.
  4. 在你想使用sqlite的地方打開你的解決方案
  5. 使用包管理器控制檯來安裝sqlite-net。輸入以下命令:Install-package sqlite-net
  6. 安裝sqlite-net-wp8。輸入以下命令:安裝包的SQLite淨WP8
  7. 添加編譯cofiguration

    7.1右鍵單擊該項目並選擇屬性。

    7.2選擇生成選項卡。

    7.3在「配置」列表中,選擇「所有配置」。

    7.4在平臺列表中,選擇所有平臺。

    7.5在構建選項卡上,您將看到常規標題下的條件編譯符號,其中包含默認值SILVERLIGHT; Windows Phone應用程序項目上的WINDOWS_PHONE。將該值更改爲SILVERLIGHT; WINDOWS_PHONE; USE_WP8_NATIVE_SQLITE並保存項目文件。

  8. 右鍵單擊引用,然後選擇添加reference.Go到Windows Phone - >擴展並檢查選項SQLite,讓Windows Phone的

這對我的作品! 祝你好運

+9

非常感謝!似乎我已經錯過了第8步 - 做! – Gavin

+4

+1我錯過了第8步加文。 :) –

+3

經過4個多小時的嘗試,我發現了第8步! – FunksMaName