Azure Pipelines托管代理尚不支持.Net Core 3.1?获取NETSDK1045


15

.Net Core 3.1很好,但我不确定Azure Pipelines托管代理是否赶上了。

我的YAML管道指定:

pool:
  vmImage: 'windows-latest'

然后dotnet restore执行此操作:

(_CheckForUnsupportedNETCoreVersion目标)-> C:\ Program Files \ dotnet \ sdk \ 3.0.100 \ Sdks \ Microsoft.NET.Sdk \ targets \ Microsoft.NET.TargetFrameworkInference.targets(127,5):错误NETSDK1045:当前.NET SDK不支持定位.NET Core 3.1。目标.NET Core 3.0或更低版本,或者使用支持.NET Core 3.1的.NET SDK版本。[D:\ a \ 1 \ s \ StatsNZ.BESt.DataService \ StatsNZ.BESt.DataService.csproj]

在.Net Core 3.0中工作正常。

是否有任何变通办法,还是我们必须等待Azure DevOps赶上来?


Answers:


37

Azure Pipelines托管代理尚不支持.Net Core 3.1?

不可以,Azure Pipelines托管代理支持.Net Core 3.1,但是3.1.100默认情况下,当前未在Azure Pipelines托管代理中默认安装最新的.net Core 。

您可以检查带有VS2019图像Azure Pipelines托管Windows 2019,默认安装的最新版本的.net core是3.0.100

要使用.net core 3.1,可以添加Use .NET Core任务来安装.net core 3.1.100:

在此处输入图片说明

在此处输入图片说明

希望这可以帮助。


似乎您有使用Azure Devops管道的经验,我正在尝试将sonarqube实施到管道中。但是它总是失败,因为Java Jdk版本应该是8或11。如何更改管道中的Java jdk版本?
Mohamad Mousheimish

对于版本3.1.2,我遇到此错误[错误] sdk版本匹配:找不到3.1.2链接到图像:imgur.com/a/qYeSnwV
Pramil Gawande

没有3.1.2 SDK,目前只是该版本的运行时。截至此注释,最新的SDK是3.1.102。
CodeThief

当我尝试使用该Use .NET Core任务与3.1一起构建时,该任务成功。但是当它执行Build Solution任务时,它仍然看不到3.1 SDK并失败。
Panzercrisis

7

在调用dotnet build之前,添加一个安装.NET Core SDK的步骤。

steps:
- task: UseDotNet@2
  displayName: 'Install .NET Core sdk'
  inputs:
    packageType: sdk
    version: 3.1.100
    installationPath: $(Agent.ToolsDirectory)/dotnet

工作并通过验证ubuntu-latest


1
我有一个安装.NET Core SDK 3.1的工作(我复制/粘贴了您的代码),它返回:“成功安装了NET Core 3.1.100 SDK”。下一个作业(取决于第一个作业)仍使用SDK 3.0.xx,但失败。alex75.visualstudio.com/Cryptocurrencies/_build/...
亚历克斯75

2
这完全解决了我的问题,使我得以继续ubuntu-latest
JamesQMurphy

1
@ Alex75这里有同样的问题,似乎只是忽略UseDotNet @ 2任务并使用3.0 SDK,很奇怪...
jjxtra

奇怪,我不知道为什么这对某些人(包括我自己)而不对其他人有效。
Bernard Vander Beken

0

如果使用图像“ windows-latest”,则应该能够使用dotnet命令。我将其从“ ubuntu-latest”更改为“ windows-latest”,并且运行良好。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.