ADO 管道 - DotNet 6 的恢复包

ADO Pipeline - Restore Packages for DotNet 6

我有一个包含测试和库项目的 dotnet 解决方案 + 一个 Azure Functions 项目。

我已将所有 nuget 包更新到最新版本并将 Azure Functions 项目设置为

<TargetFramework>net6.0</TargetFramework>
<AzureFunctionsVersion>v4</AzureFunctionsVersion>

在 VS2022 中,现在一切都可以正常构建并且所有测试都通过了。

但是,当我的 Azure DevOps 构建管道 运行 执行其 nuget 恢复任务时,我收到很多关于各种包与 net60 不兼容的错误,例如:

Package Serilog.Extensions.Hosting 4.1.2 is not compatible with net60 (.NETFramework,Version=v6.0).

构建管道的恢复任务的 yaml 是:

- task: NuGetCommand@2
  displayName: Restore
  inputs:
    command: 'restore'
    restoreSolution: '**/*.sln'
    feedsToUse: 'select'

构建管道设置为 运行,其中:

jobs:
job: Build
displayName: Build
pool:
  vmImage: 'windows-latest'

有人解释为什么该解决方案可以在我的笔记本电脑上正常恢复和构建但在管道中失败吗?

代理上嵌入的默认 nuget 版本应该不支持您的项目。 我建议您在执行 nuget 恢复之前,将任务“NuGet 工具安装程序”与您在计算机上使用的版本一起使用。