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

VS2022中Xamarin.iOS生成Ad-hoc IPA时MT2002错误求助

解决Xamarin.iOS Ad-hoc打包MT2002错误(无法解析PerformanceCounter)

问题背景

升级Visual Studio 2022后,Xamarin.iOS项目以Ad-hoc模式打包时触发MT2002错误,提示无法解析System.Diagnostics.PerformanceCounter,但项目未直接引用该类型,链接模式设置为“仅SDK”。

解决步骤

  • 排查间接依赖的NuGet包
    项目未直接引用但链接器报错,大概率是某个依赖NuGet包间接引用了PerformanceCounter。检查所有已安装的NuGet包,重点关注日志、性能监控类的包,尝试将这些包更新到最新稳定版,或者替换为不依赖该类型的替代包。

  • 添加链接器忽略规则
    在项目中新建Linker.xml文件,写入以下内容,告诉链接器跳过对该类型的解析:

    <linker>
      <assembly fullname="System">
        <type fullname="System.Diagnostics.PerformanceCounter" skip="true" />
      </assembly>
    </linker>
    

    右键该文件,设置生成操作为LinkDescription,重新构建打包。

  • 清理项目后重新构建
    删除项目的bin和obj文件夹,清理解决方案,重启Visual Studio后重新尝试Ad-hoc打包。同时确认项目的MTouchLink设置为SdkOnly(在iOS项目属性的“iOS生成”选项卡中)。

  • 更新Xamarin.iOS SDK
    当前使用的Xamarin.iOS SDK版本为16.4.0.15,尝试更新至最新稳定版,该问题可能是旧版SDK的链接器bug,新版本已修复。

  • 临时调整链接模式(谨慎使用)
    若上述方法无效,可临时将链接模式切换为“链接所有程序集”,但此模式会移除未被引用的代码,需确保项目功能不受影响,打包后全面测试应用。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 04:42:01