当我将 .net core 3.1 更新到 .net core 6 时,DevOps 管道 CI 出错

DevOps pipeline CI error when I updated .net core 3.1 to .net core 6

所以我将解决方案的所有项目更新为 .net core 6,之前每个项目都是 .net core 3.1。

然后我开始在构建步骤中遇到以下错误:

##[error]PjInspe.Tests\PjInspe.Tests.csproj(0,0): Error NU1201: 
Project PjInspe.Aplicacao is not compatible with netcoreapp3.1 
(.NETCoreApp,Version=v3.1). Project PjInspe.Aplicacao supports: 
net6.0 (.NETCoreApp,Version=v6.0)

但是所有的项目在 .csproj 中都有这个

这是唯一失败的项目

有什么解决办法吗?

编辑:

我的管道 YAML

我正在使用 windows 2022 到 运行 CI 并且我在构建日志中看到了来自 net6 的 sdk

pool:
  name: Azure Pipelines

steps:
- task: DotNetCoreCLI@2
  displayName: Restore
  inputs:
    command: restore
    projects: '**/*Project.csproj'
    vstsFeed: '***************'

- task: DotNetCoreCLI@2
  displayName: Build
  inputs:
    projects: '$(Parameters.RestoreBuildProjects)'
    arguments: '--configuration $(BuildConfiguration)'

- task: DotNetCoreCLI@2
  displayName: Test
  inputs:
    command: test
    projects: '$(Parameters.TestProjects)'
    arguments: '--configuration $(BuildConfiguration)'

- task: DotNetCoreCLI@2
  displayName: Publish
  inputs:
    command: publish
    publishWebProjects: True
    arguments: '--configuration $(BuildConfiguration) --output $(build.artifactstagingdirectory)'
    zipAfterPublish: True

- task: PublishBuildArtifacts@1
  displayName: 'Publish Artifact'
  inputs:
    PathtoPublish: '$(build.artifactstagingdirectory)'
  condition: succeededOrFailed()

正确的方法应该是修改你的dotnetcore cli任务如下

- task: DotNetCoreCLI@2
  displayName: Test
  inputs:
    command: test
    version: '6.0.x' //better to put this in a variable
    projects: '$(Parameters.TestProjects)'
    arguments: '--configuration $(BuildConfiguration)'

但我仍然遇到类似的构建问题。我通过使用 use dotnet core task BEFORE all other tasks 并指定我需要的版本来修复它。

这是我使用的yaml代码

 - task: UseDotNet@2
      displayName: 'Use .NET 6 Core sdk'
      inputs:
        packageType: 'sdk'
        version: '6.0.x'