Xamarin.forms 使用Xamarin iOS插入SQLite表时出错

Xamarin.forms 使用Xamarin iOS插入SQLite表时出错,xamarin.forms,xamarin.ios,Xamarin.forms,Xamarin.ios,我有一个Xamarin表单应用程序,它在Android上运行良好,但当我在iOS上运行时,在设置数据库时会出现此错误 未找到方法:字符串SQLitePCL.raw.sqlite3\u column\u name(SQLitePCL.sqlite3\u stmt,int) 然后当我尝试插入数据库表时 未找到方法:字符串SQLitePCL.raw.sqlite3\u errmsg(SQLitePCL.sqlite3) 该应用程序使用mvvmlight,我在那里安装了sqlite net pcl包,平

我有一个Xamarin表单应用程序,它在Android上运行良好,但当我在iOS上运行时,在设置数据库时会出现此错误

未找到方法:字符串SQLitePCL.raw.sqlite3\u column\u name(SQLitePCL.sqlite3\u stmt,int)

然后当我尝试插入数据库表时

未找到方法:字符串SQLitePCL.raw.sqlite3\u errmsg(SQLitePCL.sqlite3)

该应用程序使用mvvmlight,我在那里安装了sqlite net pcl包,平台代码中也安装了该包。所有版本都结合在一起

我的sqlite iOS初始化代码如下(在平台上)

公共类SQLiteConnectionFactory:ISqliteConnectionFactory
{
只读字符串Filename=“mydb”;
公共SQLiteConnection GetConnection()
{
var path=Environment.GetFolderPath(Environment.SpecialFolder.Personal);
path=path.Combine(路径,文件名);
SimpleIoc.Default.Register();
返回新的SQLiteConnection(路径,SQLiteOpenFlags.Create | SQLiteOpenFlags.ReadWrite | SQLiteOpenFlags.SharedCache);
}
插入代码(在mvvmlight项目中)如下

public void SaveListData<T>(List<T> toStore)
    {
        try
        {
            lock (dbLock)
            {
                connection.InsertAll(toStore);
            }
        }
        catch (Exception ex)
        {
            Debug.WriteLine(ex.Message);
        }
    }
public void SaveListData(存储列表)
{
尝试
{
锁(dbLock)
{
连接。InsertAll(toStore);
}
}
捕获(例外情况除外)
{
Debug.WriteLine(例如消息);
}
}
我对Xam.Android和sqlite-net-pcl有过一些问题,但在iOS上从未遇到过

我安装了sqlite net pcl 1.7.302-beta和sqlite pcl.*2.0.2软件包(使用beta版本以防止稳定版本上的一些链接问题)

下面是安装的iOS软件包的快照


将您的sqlite net pcl软件包降级至1.5.231版,这对我来说是个不错的工作

它看起来像是一个Android解决方案,而不是iOS。我已经完成了软件包的卸载和重新安装,没有任何操作。请确保您已经在Share project和iOS project中将XF的版本升级为最新版本。
public void SaveListData<T>(List<T> toStore)
    {
        try
        {
            lock (dbLock)
            {
                connection.InsertAll(toStore);
            }
        }
        catch (Exception ex)
        {
            Debug.WriteLine(ex.Message);
        }
    }