Xamarin Android使用System.Data.SQLite遇SQLite.Interop.dll找不到问题求助
SQLite.Interop.dll找不到的问题 完整安装对应NuGet包
卸载已安装的System.Data.SQLite和System.Data.SQLite.Core,重新安装完整的System.Data.SQLite包。这个包会自动包含x86和x64架构的SQLite.Interop.dll及部署配置,单独安装Core包仅包含核心库,不负责interop文件的部署。指定项目平台目标
右键项目→属性→生成→平台目标,设置为明确的x86或x64(不要选择Any CPU)。SQLite.Interop.dll是分平台的,Any CPU模式下运行时会因架构不匹配找不到对应文件。确保
SQLite.Interop.dll复制到输出目录
找到NuGet包目录中对应平台的SQLite.Interop.dll(通常在packages\System.Data.SQLite.Core.x.x.x\runtimes\win-x86/native或win-x64路径下),将其添加到项目中,设置属性里的复制到输出目录为始终复制。也可手动复制该文件到项目的输出目录(如bin/x86/Debug)。添加后期构建事件(可选)
如果NuGet的自动部署脚本失效,可手动添加后期构建事件来复制文件:
右键项目→属性→生成事件→后期生成事件命令行,添加命令(替换版本号和平台):xcopy "$(SolutionDir)packages\System.Data.SQLite.Core.1.0.118\runtimes\win-x86\native\SQLite.Interop.dll" "$(TargetDir)" /Y清理重建项目
执行项目清理(右键项目→清理),删除bin和obj目录后重新生成解决方案,避免残留的旧文件干扰。
这个错误在使用System.Data.SQLite的开发者中非常普遍,核心原因基本都是SQLite.Interop.dll的平台不匹配或未正确部署到运行目录。
内容的提问来源于stack exchange,提问作者Murali

