本文介绍了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;的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!