Xamarin连接MySQL遇System.Runtime.Loader版本兼容问题如何解决?
解决Xamarin连接MySQL时System.Runtime.Loader版本不匹配问题
针对你遇到的System.Runtime.Loader版本(现有1.0.24212.1,需4.0.0.0)不匹配导致的连接异常,可按以下步骤解决:
更新System.Runtime.Loader NuGet包
先卸载项目中旧版本的System.Runtime.Loader,再安装4.0.0.0版本:- 打开NuGet包管理器,搜索
System.Runtime.Loader,选择卸载当前旧版本 - 重新搜索并安装版本4.0.0.0
若用命令行执行:
Uninstall-Package System.Runtime.Loader -ProjectName 你的Xamarin项目名 Install-Package System.Runtime.Loader -Version 4.0.0.0 -ProjectName 你的Xamarin项目名- 打开NuGet包管理器,搜索
添加程序集绑定重定向
如果更新后仍报错,在项目的App.config(或Web.config)中添加绑定重定向配置,让运行时将旧版本请求导向新版本:<runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="System.Runtime.Loader" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" /> </dependentAssembly> </assemblyBinding> </runtime>对于Xamarin.Android/iOS,可能需要在项目属性的对应平台选项中启用绑定重定向,或直接编辑
.csproj文件添加上述配置。检查MySQL.Data包兼容性
确认你使用的MySql.DataNuGet包版本与Xamarin项目兼容。部分旧版MySql.Data对依赖库版本要求苛刻,可尝试更新MySql.Data到最新兼容Xamarin的版本,或降级到与现有依赖匹配的版本。清理重建项目
执行以下操作清除旧缓存:- 点击Build菜单选择Clean Solution
- 删除项目根目录下的
bin和obj文件夹 - 重新选择Build > Rebuild Solution
确认项目目标框架版本
检查Xamarin项目的目标框架是否支持System.Runtime.Loader 4.0.0.0:- Xamarin.Android建议目标框架设为Android 8.0(API 26)及以上
- Xamarin.iOS设为最新稳定版
- .NET Standard项目目标设为2.0或更高版本
内容的提问来源于stack exchange,提问作者Robert Green
相关产品推荐
相关产品推荐

