Я пытаюсь реализовать SQLite в решении Xamarin с использованием Visual Studio.Тем не менее, я не могу найти правильный способ реализации SQLiteAsyncConnection.
Я следую по учебнику, который просто передает строку в конструктор SQLiteAsyncConnection, однако это (больше не?) Принято.Я погуглил, чтобы найти более новое решение и почти везде нашел решение добавить платформу в конструктор, однако это приводит к ошибке для меня.
Думаю, я не добавил правильные пакеты NUGet в проект (ы).Я добавил пакет sqlite-net-pcl как в общий проект, так и в проект Android.
Я также сегодня обновил все пакеты NUGet, перестроил решение и даже удалил папку / bin и / obj, и она все еще не работает.
using System.IO;
using SQLite.Net;
using SQLite.Net.Async;
using Xamarin.Forms;
using SQLiteTest.Droid;
using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Views;
using Android.Widget;
[assembly: Dependency(typeof(SQLiteDB))]
namespace SQLiteTest
{
public class SQLiteDB : ISQLiteDB
{
public SQLiteAsyncConnection GetAsyncConnection()
{
const string fileName = "test.db3";
var documentsPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);
var path = Path.Combine(documentsPath, fileName);
var platform = new SQLite.Net.Platform.XamarinAndroid.SQLitePlatformAndroid();
var cwLock = new SQLiteConnectionWithLock(platform, new SQLiteConnectionString(path, true));
var connection = new SQLiteAsyncConnection(() => cwLock);
return connection;
}
}
}
Ошибка, которую я получаю:
Ошибка CS0234 Тип или имя пространства имен «Платформа» не существует в пространстве имен «SQLite.Net» (отсутствует ссылка на сборку?) SQLiteTest.Android D: \ Mobile Apps \ Mosh \ SQLiteTest \ SQLiteTest\ SQLiteTest.Android \ SQLiteDB.cs