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

如何在Azure DevOps CmdLine@2任务中指定旧版本.NET Maui?

解决Azure DevOps中指定安装旧版本.NET Maui的问题

问题背景

.NET Maui更新后,新版本依赖microsoft.net.sdk.ios 16.1.1481,需要Xcode 14.1及iOS 16.1 SDK支持,但macos-12镜像自带的Xcode版本不满足,导致iOS应用构建失败。之前尝试用dotnet workload install --sdk-version 7.0.1xx maui无法解决问题,以下是可行方案:

可行解决方案

方案一:通过回滚元数据文件安装兼容版本

微软官方为各版本Maui提供了回滚元数据文件,这些文件包含适配不同环境的配置。我们可以利用这类文件安装适配macos-12镜像的旧版本Maui:

  1. 先卸载当前已安装的Maui workload,避免版本冲突
  2. 找到对应兼容版本的回滚元数据文件路径,替换到命令中(例如7.0.109版本的回滚文件,其依赖的iOS SDK兼容macos-12自带的Xcode)

修改后的Azure DevOps CmdLine@2任务配置如下:

- task: CmdLine@2
  displayName: '安装兼容macos-12的旧版Maui'
  inputs:
    script: |
      # 卸载现有Maui workload
      dotnet workload uninstall maui
      # 通过官方回滚配置安装指定版本的Maui
      dotnet workload install maui --from-rollback-file [对应版本的回滚元数据文件路径]

方案二:直接指定Maui版本号安装

如果你明确知道兼容的Maui版本号(比如7.0.109,该版本依赖的iOS SDK适配macos-12镜像),可以直接通过--version参数指定安装:

修改后的任务配置:

- task: CmdLine@2
  displayName: '安装指定版本的.NET Maui'
  inputs:
    script: |
      dotnet workload uninstall maui
      dotnet workload install maui --version 7.0.109

版本选择说明

要确认哪个Maui版本兼容macos-12镜像,可遵循以下逻辑:

  • macos-12镜像默认搭载Xcode 13.4.1,对应iOS 15.4 SDK
  • 选择依赖microsoft.net.sdk.ios版本≤15.4.x的Maui版本,比如7.0.109、7.0.108等
  • 可通过Maui官方发布历史确认各版本对应的依赖组件版本

验证安装结果

安装完成后,可添加一个CmdLine任务验证版本是否正确:

- task: CmdLine@2
  displayName: '检查Maui Workload版本'
  inputs:
    script: 'dotnet workload list'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 02:56:12