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

使用SQLite-net-pcl遇FileNotFoundException,求解决建议

解决Xamarin.Android中SQLite-net程序集加载失败的问题

针对你在TimeLogger.Android项目中遇到的System.IO.FileNotFoundException错误——找不到SQLite-net.dll的问题,结合你的项目环境(Xamarin.Forms 2.4.0.280 + monoandroid71 + SQLite-net-pcl 1.3.0),可以尝试以下几个解决方案:

1. 彻底清理并重装SQLite-net-pcl包

NuGet包安装偶尔会出现缓存或文件缺失问题,建议按以下步骤操作:

  • 在Visual Studio的解决方案资源管理器中,右键你的Android项目 → 管理NuGet程序包,找到SQLite-net-pcl并卸载。
  • 手动删除项目根目录下的bin和obj文件夹,清空编译缓存。
  • 重新打开NuGet包管理器,搜索SQLite-net-pcl并安装1.3.0版本(也可尝试安装与Xamarin.Forms 2.4.0.280兼容的最新稳定版,比如1.4.x版本,优先用当前版本测试)。
  • 也可在包管理器控制台执行命令强制重装:
    Update-Package -reinstall SQLite-net-pcl
    

2. 检查程序集的「复制本地」属性

确保SQLite相关程序集会被复制到编译输出目录:

  • 展开Android项目的引用,找到SQLite-net和SQLite-net-pcl相关程序集。
  • 右键程序集 → 属性,将复制本地设置为True。

3. 移除手动添加的SQLite-net.dll文件

如果你之前手动将SQLite-net.dll添加到项目中,很可能和NuGet包引用产生冲突:

  • 删除项目中手动添加的SQLite-net.dll文件,并从引用中移除它。
  • 确保所有SQLite依赖仅通过NuGet管理,NuGet会自动处理跨平台兼容性(包括Mono for Android的适配)。

4. 清理Xamarin全局缓存

Xamarin的缓存文件偶尔会导致程序集解析错误:

  • 关闭Visual Studio。
  • 打开文件资源管理器,导航到%LOCALAPPDATA%\Xamarin目录,删除该文件夹下的所有内容。
  • 重启Visual Studio,重新编译项目。

5. 验证项目目标框架与包的兼容性

你的项目目标是monoandroid71(对应Android API 25),当前使用的Xamarin.Android.Support包版本25.4.0.2是匹配的,SQLite-net-pcl 1.3.0也支持该API等级,可再确认:

  • 右键Android项目 → 属性,在应用程序选项卡中,确认目标Android版本和最低Android版本都设置为API 25或兼容版本。

如果以上步骤都无效,建议创建一个空白Xamarin.Forms项目,仅安装SQLite-net-pcl 1.3.0并测试基础数据库操作,以此排查是否是原项目的配置问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:37:12