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

执行dotnet workload update后.NET MAUI项目构建失败

解决.NET MAUI执行dotnet workload update后MSB4018错误

问题现象

执行dotnet workload update后,项目构建时触发MSB4018错误,核心原因是找不到8.0.2版本的Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.ios-arm64包(该包被workload更新操作移除)。错误日志示例:

/usr/local/share/dotnet/packs/Microsoft.iOS.Sdk/17.2.8043/targets/Xamarin.Shared.Sdk.targets(1214,3): error MSB4018: The "AOTCompile" task failed unexpectedly. [/Users/davidrutter/Projects/simul_bcfo1/aspnet-core/src/Simul_BCFO.Maui/Simul_BCFO.Maui.csproj::TargetFramework=net8.0-ios]
/usr/local/share/dotnet/packs/Microsoft.iOS.Sdk/17.2.8043/targets/Xamarin.Shared.Sdk.targets(1214,3): error MSB4018: System.AggregateException: One or more errors occurred. (One or more errors occurred. (One or more errors occurred. (An error occurred trying to start process '/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.ios-arm64/8.0.2/Sdk/../tools/mono-aot-cross' with working directory '/Users/davidrutter/Projects/simul_bcfo1/aspnet-core/src/Simul_BCFO.Maui'. No such file or directory))) (One or more errors occurred. (One or more errors occurred. (An error occurred trying to start process '/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.ios-arm64/8.0.2/Sdk/../tools/mono-aot-cross' with working directory '/Users/davidrutter/Projects/simul_bcfo1/aspnet-core/src/Simul_BCFO.Maui'. No such file or directory))) [/Users/davidrutter/Projects/simul_bcfo1/aspnet-core/src/Simul_BCFO.Maui/Simul_BCFO.Maui.csproj::TargetFramework=net8.0-ios]

解决步骤

  • 检查当前SDK和workload状态
    运行以下命令确认已安装组件:

    dotnet --list-sdks
    dotnet workload list
    

    确认是否存在8.0.x系列SDK,以及iOS workload的完整性。

  • 修复缺失的AOT包或iOS workload
    直接安装指定版本的缺失包:

    dotnet add package Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.ios-arm64 --version 8.0.2
    

    或者修复整个iOS workload:

    dotnet workload repair ios
    
  • 调整项目依赖的SDK版本
    打开项目的.csproj文件:

    • 若存在<RuntimeFrameworkVersion>8.0.2</RuntimeFrameworkVersion>或类似硬编码版本节点,将其改为当前已安装的8.0.x稳定版本(例如8.0.5),或者直接移除该节点,让项目自动匹配兼容版本。
    • 确保<TargetFramework>节点为net8.0-ios。
  • 清理缓存并重新构建
    执行以下命令重置项目状态:

    dotnet clean
    dotnet restore
    dotnet build
    
  • 极端情况:重新安装.NET SDK和MAUI workload
    如果以上步骤无效,彻底卸载现有.NET 8 SDK,下载最新版.NET 8 SDK重新安装,然后重新部署MAUI workload:

    dotnet workload install maui ios
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 06:02:47