将所有项目升级到.Net Core 2.2之后,Nuget还原任务在Azure DevOps上失败

时间:2018-12-18 15:00:48

标签: msbuild nuget azure-devops tfsbuild nuget-package-restore

我们已将所有项目从.net core 2.1升级到.Net core 2.2,并且在升级之前,所有项目都已在Azureure Devops管道上成功构建,但是在升级到.net core 2.2之后,Nuget恢复任务失败,并出现以下错误

018-12-17T22:20:06.8107786Z ##[error]The nuget command failed with exit code(1) and error(C:\Program Files\dotnet\sdk\2.1.402\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.TargetFrameworkInference.targets(137,5): error NETSDK1045: The current .NET SDK does not support targeting .NET Core 2.2. Either target .NET Core 2.1 or lower, or use a version of the .NET SDK that supports .NET Core 2.2.

enter image description here

enter image description here

我已经更新了对所有项目的.net core 2.2引用,我们没有使用项目中的nuget.exe。

我想念什么?

更新1

根据rick的回复,我在管道中添加了.net核心任务,但仍然失败

enter image description here

3 个答案:

答案 0 :(得分:1)

尝试运行dotnet restore而不是使用nuget任务。

您可以在此处找到更多文档:Build, test, and deploy .NET Core apps in Azure Pipelines - Restore dependencies

  

NuGet是依赖未构建代码的流行方法。您可以通过.NET Core任务或直接在管道的脚本中运行dotnet restore命令来下载NuGet软件包。

修改:
看一下您正在使用的NuGet软件包,因为您收到的消息试图告诉您一些信息:
The current .NET SDK does not support targeting .NET Core 2.2. Either target .NET Core 2.1 or lower, or use a version of the .NET SDK that supports .NET Core 2.2
您所有的项目都针对相同的版本吗?

答案 1 :(得分:1)

尝试了不同的解决方案之后,我遇到了 scott hanselman 的博客,该博客在asp.net core 2.2预览版上讨论了Azure Devops CI,但该博客讨论了相同的错误和相同的问题,方法是添加.NET Core SDK安装程序任务。

https://www.hanselman.com/blog/AzureDevOpsContinuousBuildDeployTestWithASPNETCore22PreviewInOneHour.aspx

我的问题通过添加具有2.2.10版本的.NET Core SDK Installer任务得到解决。

答案 2 :(得分:1)

我使用经典管道遇到了类似的问题。当我在.NET Restore步骤中遇到以下错误时,我正在将Web应用程序更新为.NET Core 3.1。

[错误] nuget命令失败,并显示退出代码(1)和错误(C:\ Program Files \ dotnet \ sdk \ 2.2.402 \ Sdks \ Microsoft.NET.Sdk \ targets \ Microsoft.NET.TargetFrameworkInference.targets (137,5):错误NETSDK1045:当前的.NET SDK不支持以.NET Core 3.1为目标。要么是目标.NET Core 2.2或更低版本,要么是使用支持.NET Core 3.1的.NET SDK版本。 >

通过将代理池更改为较新的版本(2019),可以解决此问题,如下所示,该代理池开始于无法处理较新的SDK的版本(2017)。

Picture of Phase 1 classic view Agent Pool = Azure Pipelines and Agent Specification = windows-2019