构建Xamarin Forms App时出现Unknown MSBuild failure错误如何解决?
Xamarin Forms
Unknown MSBuild failure 报错解决方案 适配环境:macOS High Sierra 10.13.6 + Xcode 10.1,不可升级Xcode的场景
1. 匹配Xamarin组件兼容版本
过高的Xamarin组件版本会依赖高版本Xcode SDK,需降级到和Xcode 10.1匹配的版本:
- 卸载当前安装的Xamarin.iOS、Xamarin.Mac、Xamarin.Forms组件
- 安装对应兼容版本:
- Xamarin.iOS 12.2.1.16(最后一个正式支持Xcode 10.1的版本)
- Xamarin.Mac 5.2.1.16
- Xamarin.Forms 3.4.x 及更低版本
2. 手动指定项目构建配置
编辑Xamarin.Forms iOS项目的.csproj文件,在顶层<PropertyGroup>节点中添加以下配置,强制绑定适配的SDK版本:
<!-- 禁用默认隐式NuGet fallback文件夹,避免版本冲突 --> <DisableImplicitNuGetFallbackFolder>true</DisableImplicitNuGetFallbackFolder> <!-- 绑定Xcode 10.1对应iOS SDK版本 --> <MtouchSdkVersion>12.1</MtouchSdkVersion> <!-- 调试模式下关闭链接,减少未知构建错误 --> <MtouchLink>None</MtouchLink>
同时确认iOS项目的目标版本设置为iOS 12.1及以下,不要选择更高版本的目标系统。
3. 清理缓存后重建
- 完全关闭Visual Studio for Mac
- 删除项目根目录下的
bin、obj文件夹 - 打开终端执行以下命令清理全局缓存:
rm -rf ~/.nuget/packages rm -rf ~/Library/Caches/Xamarin - 重新打开Visual Studio,右键解决方案选择「全部清理」,再执行「全部生成」
4. 环境配置验证
- 打开Xcode,进入「偏好设置-位置」,确认「命令行工具」选项选中的是Xcode 10.1对应的版本
- 构建使用的SDK版本为.NET Core 2.2,不要使用.NET Core 3.0及以上版本
内容的提问来源于stack exchange,提问作者zawhtut
相关产品推荐
相关产品推荐

