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

无法在Visual Studio Mac/Windows中创建MAUI项目发布归档

.NET MAUI迁移项目归档失败(VS Windows/Mac)排查与解决

Windows端:Unzip任务路径格式错误

报错核心:System.NotSupportedException: The given path's format is not supported.,日志显示_DotNetRootRemoteDirectory路径混合了正斜杠与反斜杠(/Users/asiadmin\Library\Caches\Xamarin\XMA\SDKs\dotnet/),导致路径解析失败。

解决步骤:

  • 修正远程路径格式:在Windows的VS中进入项目属性→iOS构建→高级,手动设置DotNetRootRemoteDirectory为纯Unix格式路径:/Users/asiadmin/Library/Caches/Xamarin/XMA/SDKs/dotnet/
  • 清理XMA缓存:
    • Windows端删除C:\Users\<你的用户名>\AppData\Local\Xamarin\XMA
    • Mac端删除/Users/asiadmin/Library/Caches/Xamarin/XMA
    • 重启VS和Mac构建主机
  • 迁移项目到无空格路径:当前项目路径包含空格(ASI Applications),将项目移动到无空格、无特殊字符的目录(如C:\VSLocal\ASIApplications\...)后重试

Mac端:ReadItemsFromFile XML根元素缺失

报错核心:System.Xml.XmlException: Root element is missing.,提示存在空或损坏的XML配置文件,清理后错误消失但归档无响应,需进一步排查:

解决步骤:

  • 检查XML配置文件:逐一验证项目中的Info.plist、Entitlements.plist及迁移遗留的Xamarin相关XML文件(如iOSManifest.xml),确保文件非空且有正确的根元素(如<plist>)
  • 清理MSBuild缓存:删除Mac端~/Library/Caches/MSBuild,执行Clean Solution后重建项目
  • 验证归档配置:在VS Mac中选择Release配置,目标架构设为ios-arm64,进入项目选项→iOS发布,确认签名身份、配置文件与App Store发布要求匹配

通用排查与修复方案

  • 升级工具链:将Windows和Mac的Visual Studio更新至最新稳定版,确保MAUI、Xamarin.iOS工具包为最新版本
  • 手动执行归档命令:
    • Windows端命令行:dotnet publish -f net8.0-ios -c Release /p:ArchiveOnBuild=true,查看详细错误输出
    • Mac端终端:msbuild /t:Archive /p:Configuration=Release /p:Platform=iOS
  • 清理csproj冗余配置:对比官方MAUI项目模板的.csproj文件,移除迁移遗留的Xamarin特定属性(如旧打包、签名配置),确保MAUI打包属性正确(例如<EnableAssemblyILStripping>true</EnableAssemblyILStripping>)
  • 验证签名完整性:确认Release配置下的签名身份未过期,配置文件与App ID、发布类型(App Store)匹配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 18:05:58