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

.NET MAUI Blazor iOS发布报错:IL1031及ArchivePath参数缺失

.NET MAUI Blazor iOS发布错误:IL1031与CopyArchiveFiles参数缺失修复

针对IL1031错误(Invalid assembly action 'partial')

该错误源于程序集处理逻辑对partial修饰符的兼容问题,常见于链接器配置或SDK版本缺陷:

  • 排查程序集属性:检查项目内所有程序集级别的属性声明(如[assembly: ...]),确认无错误使用partial修饰、无重复声明导致的冲突。
  • 临时禁用链接器:在项目.csproj文件中添加以下配置,跳过链接器优化(注:会增大IPA体积,仅用于排查,后续可按需调整):
    <PropertyGroup Condition="'$(TargetFramework)' == 'net7.0-ios'">
      <MtouchLink>None</MtouchLink>
    </PropertyGroup>
    
  • 升级依赖包:将Microsoft.iOS、Microsoft.Maui等相关NuGet包及.NET SDK更新至对应版本的最新稳定版,旧版SDK可能存在程序集处理类bug。

针对CopyArchiveFiles缺少ArchivePath参数错误

启用ArchiveOnBuild=true时,MSBuild需明确归档文件路径,可通过以下方式修复:

  • 手动指定Mac端归档路径:在发布命令中添加/p:ArchivePath=/Users/你的Mac用户名/Library/Developer/Xcode/Archives/$(DateTime::Now.ToString('yyyy-MM-dd'))/YourAppName.xcarchive(替换实际用户名和应用名),确保Mac端该路径存在且有读写权限。
  • 改用ArchiveDir参数:若无需指定具体归档文件名,可使用/p:ArchiveDir=/Users/你的Mac用户名/Library/Developer/Xcode/Archives,由系统自动生成归档目录与文件。
  • 检查项目配置:确认.csproj中无自定义归档属性干扰默认流程,比如是否错误覆盖了ArchivePath或ArchiveDir的值。

额外验证步骤

  • 清理项目缓存:执行dotnet clean后重新发布,避免缓存文件引发异常。
  • 简化发布命令:先移除非必要参数(如ServerPassword可改为交互式输入),逐步添加参数排查是否存在参数冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 17:15:33