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

Xamarin.Forms解决方案间接依赖异常:Android项目运行报错求助

排查Xamarin.Android构建报错问题

嘿,我来帮你搞定这个Xamarin.Android的报错问题!先先理清楚你的项目结构,确保我没理解错:

  • .NET Standard代码共享项目(依赖RestSharp等NuGet包)
  • Xamarin.Android项目(引用上述.NET Standard项目)
  • Xamarin.iOS项目(引用上述.NET Standard项目)
  • .NET Core单元测试项目(引用上述.NET Standard项目,目前运行正常)

你提到运行Xamarin.Android时出现路径指向/Library/Frameworks/Mono.framework/External/xbui...的报错,这类问题大多和Mono环境、Android构建配置或者NuGet依赖冲突有关,给你几个实用的排查修复步骤:

1. 彻底清理+重建解决方案

这是最基础但总能解决不少缓存问题的操作:

  • 在Visual Studio for Mac里,点击菜单栏Build -> Clean All
  • 手动删掉每个项目下的bin和obj文件夹(比IDE清理更彻底)
  • 最后点击Build -> Rebuild All重新构建

2. 检查Mono与Android SDK配置

  • 打开Visual Studio for Mac的Preferences -> Projects -> .NET Core,确认Mono用的是稳定正式版(别用预览版,容易出兼容性问题)
  • 进入Preferences -> Projects -> Android,检查Android SDK的安装路径是否正确,并且项目属性里的目标SDK版本,要和你已安装的SDK版本完全匹配

3. 排查NuGet依赖冲突

你的.NET Standard项目依赖RestSharp,很可能是版本兼容问题:

  • 打开解决方案的NuGet包管理器,确保所有项目(包括Android)的NuGet包都更新到相互兼容的版本
  • 试试删掉根目录的packages文件夹,然后在终端进入解决方案根目录,运行dotnet restore重新还原所有包
  • 如果RestSharp用的是最新版,不妨降级到稳定的旧版本(比如106.x系列),有些新版本对Xamarin.Android的支持可能还不完善

4. 调整Android项目构建配置

  • 右键Xamarin.Android项目 -> Options -> Build -> General,确认Target framework是你已经安装好的Android版本
  • 切换到Android Build -> Advanced,检查Supported architectures是否和你的测试设备匹配(模拟器选x86/x86_64,真机选armeabi-v7a/arm64-v8a)
  • 尝试关闭Use incremental packaging选项,有时候增量构建的缓存会出问题

5. 修复Mono缓存损坏问题

既然报错路径指向Mono的xbui相关文件,大概率是缓存损坏了:

  • 手动删除Mono的缓存目录:~/Library/Caches/Xamarin
  • 重启Visual Studio for Mac,再重新构建项目

如果这些步骤还没解决问题,麻烦把完整的报错信息贴出来,这样能更精准地定位问题!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 09:16:55