Xamarin與實體框架核心:錯誤:在Android 7上未經授權訪問“/system/lib/libsqlite.so”

entity-framework-core sqlite xamarin.android

我試圖使用新的Entity Framework Core創建一個Xamarin Forms App。該應用程序針對Android 6.0,但我的模擬器運行的是Android 7.0。我在android項目上安裝了以下相關的Nuget包:

  • Microsoft.EntityFrameworkCore - > 1.1.1
  • Microsoft.EntityFrameworkCore.Sqlite - > 1.1.1

在Android上訪問我的DbContext時,會彈出一條消息告訴:檢測到本機庫未經授權訪問“/system/lib/libsqlite.so”的問題。

這個 Xamarin論壇帖子暗示,這是由於原生的SqLite二進製文件不再受支持(在Android 7上?),常見的修復似乎是切換到SqLite.Net PCL。

但是,由於Microsoft.EntityFrameworkCore.Sqlite依賴於Microsoft.Data.Sqlite,而後者依賴於本機SqLite包,我不能只替換它(或者我可以嗎?)

奇怪的是,儘管有錯誤消息暗示,否則數據訪問似乎有效。至少運行遷移並重複寫入數據庫將創建新的ID。

當然我可以廢棄EF Core,但我想很多人都在考慮將來用於Xamarin。所以如果有人能找到/知道修復就好了。

熱門答案

我有同樣的問題。我使用以下庫修復了這個問題:sqlite-net-pcl(版本1.2.0),SQLitePCLRaw.bundle_green,SQLitePCLRaw.core,SQLitePCLRaw.lib.e_sqlite3.android,SQLitePCLRaw.provider.e_sqlite3.android。



Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow