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

.net core Azure管道托管代理尚不支持.Net Core 3.1?获取NETSDK1045,.net-core,azure-pipelines,.net Core,Azure Pipelines,这很好,但我不确定Azure管道托管代理是否已经赶上了 My YAML管道指定: pool: vmImage: 'windows-latest' 而dotnet restore步骤执行以下操作: (\u CheckForUnsupportedNETCoreVersion目标)->C:\Program Files\dotnet\sdk\3.0.100\Sdks\Microsoft.NET.sdk\targets\Microsoft.NET.TargetFrameworkInference.t

这很好,但我不确定Azure管道托管代理是否已经赶上了

My YAML管道指定:

pool:
  vmImage: 'windows-latest'
dotnet restore
步骤执行以下操作:

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

在.NETCore3.0中运行良好

是否有任何解决办法,或者我们必须等待Azure DevOps赶上吗

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

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

您可以检查,默认安装的.net core的最新版本是
3.0.100

要使用.net core 3.1,您可以添加安装.net core 3.1.100的:


希望这对您有所帮助。

如果您使用“windows最新版本”图像,您应该能够使用dotnet命令。我将它从“ubuntu最新版本”改为“windows最新版本”,效果很好。

在调用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最新版本进行工作和验证

看看这里我有一个安装.NET Core SDK 3.1的任务(我复制/粘贴您的代码),它返回:“成功安装了NET Core 3.1.100 SDK”。下一个作业(取决于第一个作业)仍然使用SDK 3.0.xx并失败。这完全解决了我的问题,并允许我继续使用
ubuntu-latest
@Alex75同样的问题,它似乎忽略了UseDotNet@2任务并使用3.0 SDK,奇怪…奇怪,我不知道为什么这适用于某些人(包括我自己)而不适用于其他人。看起来你在azure devops管道中有经验,我正在尝试将sonarqube应用到管道中。但它总是失败,因为JavaJDK版本应该是8或11。如何在我的管道中更改java jdk版本?我在版本3.1.2[error]sdk版本匹配时遇到此错误:找不到3.1.2图像链接:没有3.1.2 sdk,它只是当前版本的运行时。截至此评论,最新的SDK是3.1.102。当我尝试使用
use.NET Core
任务使用3.1构建时,该任务成功。但是当它进入
构建解决方案任务时,它仍然无法看到3.1 SDK并失败。@Leo Liu MSFT-我没有看到可用任务中列出的“使用.Net核心任务”。我试过classic和YAML,但都没有。有什么想法吗?