You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Xamarin连接SQLite出现TypeLoadException报错该如何解决

问题修复方案

报错信息

System.TypeLoadException: 'Could not resolve type with token 01000150 from typeref (expected class 'SQLite.CreateTableResult' in assembly 'SQLite-net, Version=1.7.335.0, Culture=neutral, PublicKeyToken=null')'

问题涉及代码

this.db = new SQLiteAsyncConnection(dbPath, storeDateTimeAsTicks: true);
this.db.CreateTableAsync<User>().Wait();

修复方案

  • 统一全项目SQLite-net包版本:确保解决方案下的共享项目、Android项目、iOS项目安装的sqlite-net-pcl包版本完全一致,跨项目版本不一致是该类加载错误的最常见诱因。
  • 清理编译缓存:关闭IDE后删除所有项目的bin、obj文件夹,重新打开解决方案执行清理、重建操作,消除旧版本编译残留。
  • 调整异步调用写法:避免在主线程用.Wait()同步阻塞等待异步方法,改为在异步方法中用await调用,避免线程死锁引发的异常加载问题:
    // 调整为异步调用写法
    await this.db.CreateTableAsync<User>();
    
  • 移除第三方SQLite封装依赖:如果项目中引用了第三方二次封装的SQLite工具包,直接改用官方原生sqlite-net-pcl包即可,多数第三方封装未适配1.7.x版本新增的CreateTableResult类,会触发类型找不到报错。
  • 降级SQLite版本:如果上述方案都无效,直接将所有项目的sqlite-net-pcl包降级到1.6.292稳定版,1.7.x版本在部分旧Xamarin环境下存在兼容缺陷,降级后即可解决该问题。

内容的提问来源于stack exchange,提问作者Piyush

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.13 15:15:01