如何在 Azure Devops 上安装多个 .NET Core SDK 版本

How to install several .NET Core SDK versions on Azure Devops

是否可以在 Azure DevOps 上使用 azure-pipelines.yml 安装多个版本的 .NET Core SDK?如果是,我该怎么做?

我正在尝试使用 ElectronNET 构建 Blazor 服务器应用程序。在我的本地机器上,我可以 运行 electronize build /target win 没有任何问题。但是当 运行在 Azure DevOps 上构建时,它失败并出现以下错误:

The specified framework 'Microsoft.NETCore.App', version '2.2.0' was not found.
  - The following frameworks were found:
      3.0.0-preview7-27912-14 at [/opt/hostedtoolcache/dotnet/shared/Microsoft.NETCore.App]

我的 azure-pipelines.yml 看起来像这样:

trigger:
- master

pool:
  vmImage: 'ubuntu-latest'

steps:
- task: DotNetCoreInstaller@0
  displayName: Install .NET Core 2.2 SDK
  inputs:
    packageType: 'sdk'
    version: '2.2.401'

- script: |
    dotnet tool install ElectronNET.CLI -g
  displayName: 'Install global tool ElectronNET.CLI'

- task: DotNetCoreInstaller@0
  displayName: Install Latest .NET Core 3.0 SDK
  inputs:
    packageType: 'sdk'
    version: '3.0.100-preview7-012821'

- script: |
    cd MyProject
    electronize build /target win
  displayName: 'Build Windows app with ElectronNET'

我用你的管道 yaml 进行了测试,发现 azure 任务 DotNetCoreInstaller@0 会覆盖之前安装的 dotnet core sdk。我用任务 UseDotNet@2 替换了 DotNetCoreInstaller@0 以安装两个版本的 dotnet 核心 sdks,错误消失了。

steps:
- task: UseDotNet@2
  displayName: Install .NET Core 2.2 SDK
  inputs:
    packageType: 'sdk'
    version: '2.2.401'