0

Android、iOS、および Windows Phone を持つ Xamarin.Forms プロジェクトを作成しました。Xamarin Windows Phone 8.1 プロジェクトで Sqlite データベースを使用しようとしていますが、sqlite.net pcl とコアおよび非同期ライブラリをプラットフォーム ライブラリと共にインストールしました。プロジェクトを実行しようとすると、エラー winrt.dll sqlite3 could not be found が表示されます。sqlite.platforms.windowsPhone8 には実際には 2 つの参照ライブラリがあるため、x86 として追加しましたが、まだ問題があります。これがWindows Phone 8.1の私のコードです

    namespace SwachhParyatanApp.WinPhone
{
    class DBPath_WinPhone : IDBPath
    {
        public SQLiteAsyncConnection GetDBPath()
        {
            var path = Path.Combine(ApplicationData.Current.LocalFolder.Path, "localData.db");
            var platform = new SQLite.Net.Platform.WinRT.SQLitePlatformWinRT();
            var param = new SQLiteConnectionString(path, false);
            var connection = new SQLiteAsyncConnection(() => new SQLiteConnectionWithLock(platform, param));
            return connection;
        }
    }
}

依存関係サービスを使用して呼び出そうとすると、行 var platform = new SQLite.Net.Platform.WinRT.SQLitePlatformWinRT(); にエラーが表示されます。

デフォルトでは WinRT ライブラリがプロジェクトに追加されていましたが、これにも問題があったため、windowsphone8 ライブラリを追加しました。

4

2 に答える 2

2

Windows Phone には、iOS や Android のように SQLite は含まれていません。

VS 用のSQLite 拡張機能をダウンロードして、プロジェクトで参照する必要があります。

SQLite-net PCLを使用することをお勧めします。これはSQLiteの ORM であり、通常の SQLite API の上に素敵な非同期/同期 API を提供します。

于 2016-04-04T14:14:49.357 に答える
-1

答えが見つかりました。Windows Phone 8.1 WinRT サイトの sqlite.org から sqlite3.dll を手動で追加する必要があります。

于 2016-04-04T11:45:43.810 に答える