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

在Visual Studio Mac编译Xamarin.iOS应用时遇两项错误求助

解决Xamarin.iOS编译时的MSB4063/MSB4064错误

这是典型的NuGet包版本兼容性问题,结合你的环境信息(VS Mac 8.4.3、Xamarin.Forms 4.4.0.991640),我整理了亲测有效的解决步骤:

1. 升级Xamarin.Build.Download到兼容版本

你的项目使用的Xamarin.Build.Download.0.9.0版本太旧,它的XamarinDownloadArchives任务并没有定义AllowUnsecureUrls这个参数,而当前VS Mac的MSBuild环境会尝试传递这个参数,直接导致构建失败。

  • 打开VS Mac的NuGet包管理器,找到Xamarin.Build.Download包
  • 将其升级到0.11.0及以上版本(这个版本修复了参数匹配问题,完美适配Xamarin.Forms 4.4.x系列)
  • 如果升级过程中出现冲突,先卸载旧的0.9.0版本,再重新安装最新稳定版

2. 彻底清理并重建项目

旧的构建缓存很容易导致更新后的包不生效,务必执行以下操作:

  • 点击VS Mac顶部菜单栏的Build → Clean Solution
  • 手动删除项目目录下的obj和bin文件夹(这两个文件夹是构建生成的临时文件,删除后不会影响项目)
  • 再次点击Build → Rebuild Solution,让项目使用新的NuGet包配置重新构建

3. 检查并修正项目配置(可选)

如果升级后仍有问题,需要检查项目的.csproj文件:

  • 用文本编辑器打开项目的.csproj文件
  • 查找是否存在手动添加的<AllowUnsecureUrls>参数配置,如果有,暂时注释掉或者删除(新版本的任务已经默认处理了非安全URL的相关逻辑,无需手动配置)
  • 确保项目中Xamarin.Forms和Xamarin.Build.Download的版本没有冲突,Xamarin.Forms 4.4.x建议搭配0.10.x及以上的Xamarin.Build.Download

4. 验证VS Mac环境组件(可选)

虽然你使用的是VS Mac 8.4.3版本,但可以检查是否有可用的更新补丁:

  • 打开VS Mac的Visual Studio → Check for Updates
  • 安装所有可用的MSBuild和Xamarin相关组件更新,确保构建环境的组件版本和NuGet包匹配

错误原因补充

你遇到的两个错误本质是:

packages/Xamarin.Build.Download.0.9.0/build/Xamarin.Build.Download.targets(3,3): 错误MSB4063: 无法使用输入参数初始化"XamarinDownloadArchives"任务。(MSB4063)
packages/Xamarin.Build.Download.0.9.0/build/Xamarin.Build.Download.targets(4,4): 错误MSB4064: "XamarinDownloadArchives"任务不支持"AllowUnsecureUrls"参数,请验证该参数是否存在且为可设置的公共实例属性。(MSB4064)

旧版本的Xamarin.Build.Download任务没有实现AllowUnsecureUrls这个公共属性,而VS Mac 8.4.3的MSBuild在构建时会自动传递这个参数,导致任务初始化失败。升级到兼容版本就能彻底解决这个参数不匹配的问题。

内容的提问来源于stack exchange,提问作者deep sinha

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 18:59:07