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

Azure构建Xamarin Android项目遇MSB4057错误,求解决方案

解决Azure DevOps XamarinAndroid任务MSB4057错误(保留解决方案文件)

错误MSB4057: The target "PackageForAndroid" does not exist in the project的核心原因是:当你把projectFile指定为解决方案文件时,XamarinAndroid@1任务默认会尝试对整个解决方案执行PackageForAndroid目标,但这个目标是Xamarin Android项目独有的,解决方案本身并不包含该目标,因此触发报错。

不用替换成Android .csproj文件的情况下,你可以通过以下方式修改管道配置:

  • 添加msbuildArgs参数,精准指定对解决方案中的Android项目执行打包目标:
    修改后的YAML配置如下:

    - task: XamarinAndroid@1
      displayName: 'Build Android Project'
      inputs:
        projectFile: '$(solution)'
        outputDirectory: '$(Build.ArtifactStagingDirectory)/Android'
        configuration: 'Release'
        msbuildVersionOption: 'latest'
        jdkOption: 'JDKVersion'
        msbuildArgs: '/t:YourAndroidProjectName:PackageForAndroid'
    

    把YourAndroidProjectName替换为你解决方案里Android项目的实际名称(或者项目的相对路径,比如MyApp/MyApp.Android.csproj)。这样MSBuild会定位到解决方案中的指定Android项目,执行对应的打包目标,而非对整个解决方案操作。

  • 如果需要先完整构建整个解决方案,再打包Android项目,可以把msbuildArgs设置为:

    msbuildArgs: '/t:Build;YourAndroidProjectName:PackageForAndroid'
    

修改完成后重新运行管道,即可在保留使用解决方案文件的前提下完成构建打包。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 18:03:34