更新Xamarin.Agora.iOS 3.5.1-beta1出现MT2101编译错误如何解决?
Xamarin.Agora.iOS升级MT2101错误解决方法
错误说明
升级Xamarin.Agora.iOS到3.5.1-beta1版本时构建抛出如下错误:
error MT2101: Can't resolve the reference 'System.UIntPtr System.nuint::op_Explicit(System.nuint)', referenced from the method 'System.Int32 DT.Xamarin.Agora.AgoraRtcEngineKit::AdjustUserPlaybackSignalVolume(System.nuint,System.Int32)' in 'Xamarin.iOS, Version=0.0.0.0, Culture=neutral, PublicKeyToken=xxxxx'.
该错误由Nuget包与本地Xamarin.iOS版本不兼容导致,当前使用Xamarin.Forms版本为5.0.0.2244,可按照以下步骤排查解决:
解决步骤
- 升级Xamarin.iOS版本
3.5.1-beta1版本的Agora绑定包编译时依赖Xamarin.iOS 15.0及以上版本,打开Visual Studio的关于界面,查看当前安装的Xamarin.iOS版本,若版本低于要求,升级到最新稳定版即可匹配包内部的nuint类型转换实现。 - 修改iOS项目目标版本
打开iOS项目属性页,将iOS目标版本设置为15.0及以上,链接器行为选择「仅链接SDK程序集」,避免链接器裁剪掉必要的类型定义。 - 临时回退Nuget版本
若暂时无法升级Xamarin.iOS版本,可将Xamarin.Agora.iOS回退到3.4.6稳定版,该版本对Xamarin.iOS的版本要求更低,与Xamarin.Forms 5.0.0.2244兼容性更好,不会触发该引用缺失错误。 - 清理重建项目
完成上述配置后,删除项目根目录下的bin、obj文件夹,清理Nuget缓存后重新构建项目即可。
内容的提问来源于stack exchange,提问作者SoftSan
相关产品推荐
相关产品推荐

