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

.NET MAUI在VS for Mac编译报缺失maui_colors.xml等XA2001错误

问题诱发原因

该报错属于.NET MAUI Resizetizer生成任务的跨平台路径兼容问题,叠加Visual Studio for Mac 17.3 Preview 1038版本的已知工作负载缺陷,具体触发逻辑:

  • 若你从Windows端同步项目时把bin、obj目录下的Windows本地生成缓存带到了Mac环境,缓存里硬编码的Windows路径分隔符、目录标记和Mac类Unix系统的路径规则不兼容,Resizetizer任务解析Android资源输出路径时会错误把资源限定符片段识别为sp子目录,实际根本不会在这个错误路径下生成maui_splash_image.xml、maui_colors.xml两个文件,直接触发XA2001文件不存在错误。
  • VS for Mac 17.3 Preview 1038自带的MAUI Android工作负载存在生成管线挂载bug,哪怕是无缓存的全新原生MAUI项目,闪屏、全局颜色这类默认资源的自动生成步骤也可能被跳过,直接抛出文件不存在报错。
修复步骤

按以下顺序操作即可解决问题,不要跳步:

  • 第一步彻底清理无效生成缓存
    完全退出Visual Studio for Mac,在项目根目录手动删除bin、obj两个文件夹,不要依赖VS内置的清理功能,预览版的清理逻辑无法识别跨平台生成的异常缓存。同时检查版本控制忽略规则,确保**/bin/、**/obj/目录被永久忽略,后续不要把Windows端的本地生成缓存同步到Mac环境。
  • 第二步修复MAUI工作负载异常
    打开Mac终端,执行以下命令强制重装官方源的MAUI相关工作负载,覆盖预览版自带的损坏组件:
    sudo dotnet workload install maui --source https://api.nuget.org/v3/index.json
    sudo dotnet workload install maui-android --source https://api.nuget.org/v3/index.json
    
  • 第三步校验项目文件配置(前两步执行后仍报错时操作)
    右键项目选择「编辑项目文件」,找到闪屏、颜色资源的配置段,删除所有手动添加的自定义路径、链接属性,保持默认配置即可:
    <MauiSplashScreen Include="Resources\AppIcon\appicon.svg" Color="#FFFFFF" />
    <MauiColor Include="Resources\Colors\Colors.xaml" />
    
    不要给这两类自动生成的资源手动指定Link、OutputPath属性,自定义路径会直接触发Resizetizer的路径解析bug。
  • 第四步重新生成项目
    打开VS for Mac后不要直接点击运行,先在顶部菜单栏选择「生成」-「清理所有」,等待清理完成后再执行「生成」-「重新生成所有」。第一次重新生成时Resizetizer会按照Mac的路径规则正确创建所有Android资源文件,报错会直接消失。

注意:不要手动创建报错提示里的sp目录和对应xml文件,这类文件是编译阶段自动生成的临时资源,手动创建的文件不符合资源生成规则,后续编译会触发其他资源匹配错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 06:15:39