本文介绍了Azure管道Xamarin.Forms IOS生成失败,错误为MSB4057:项目中不存在目标&Quot;_IsProjectRestoreSupated&Quot;的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们有Xamarin.Forms解决方案和iOS和UWP项目。我们使用Azure管道构建iOS项目。直到昨天,一切都运转得很好。现在,构建在NuGet恢复步骤失败,并显示错误:

##[错误]NuGet命令失败,退出代码(%1)和error(/Users/runner/work/1/s/";MyProjectName.UWP";.csproj:错误MSB4057:项目中不存在目标&Quot;_IsProjectRestoreSupated&Quot;。

我们可以看到,在Mac OS构建主机上尝试恢复UWP项目的NuGet包时会出现该问题。图像:MacOS-11

解决方法是将其从解决方案中排除,但我们将其用于测试目的,这对我们来说不是一个好的选择。

推荐答案

昨天我们的ios(macos-11)和android(macOS-10.15)管道遇到了同样的问题。

单声道问题21180似乎是根本原因,在更新MacOS虚拟环境的单声道版本的pull request中也提到了这一点。关于this workflow test,我们给了msbuild一个机会,它起作用了。

解决方案:

我们直接使用MSBuild而不是NuGet Restore。

- task: MSBuild@1
  inputs:
    solution: 'App.sln'
    configuration: 'Release'
    msbuildArguments: /t:restore
查看日志文件,MSBuild会忽略UWP项目。这就是NuGet在较早的单声道版本6.12.0.125中的行为。忽略UWP-Project没有问题,因为它只能在Windows环境上构建。

一些其他信息:

NuGet恢复任务使用msbuild查找所有引用的包。如果失败,它将使用Packages.config文件作为后备,管道步骤不会失败。

相反,我们在Android&;iOS的构建步骤中收到错误:

这篇关于Azure管道Xamarin.Forms IOS生成失败,错误为MSB4057:项目中不存在目标&Quot;_IsProjectRestoreSupated&Quot;的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

05-28 12:56
查看更多