如何在 Azure DevOps 管道中使用 ASP.NET 核心依赖项 运行 XUnit 测试?

How to run XUnit tests with ASP.NET Core dependency in Azure DevOps pipeline?

我们正在为 ASP.NET Core Web API 项目设置 CI/CD。我们希望在引用 Web API 项目的 XUnit 项目的构建管道中进行 运行 单元测试。这是来自我们的构建管道:

# azure-pipelines.yml

...

pool:
  vmImage: 'windows-latest'

...

- task: UseDotNet@2
  inputs:
    version: 3.1.x
    packageType: runtime

- task: DotNetCoreCLI@2
  inputs:
    command: build
    projects: '**/MyWebApi.csproj'
    arguments: '--configuration Release'

- task: DotNetCoreCLI@2
  inputs:
    command: test
    projects: '**/MyUnitTests.csproj'
    arguments: '--configuration Release'

...

当我们 运行 它时,Web API 项目已成功构建,但测试失败 运行,出现以下错误:

The framework 'Microsoft.AspNetCore.App', version '3.1.0' was not found.

是否需要将我们要测试的类(来自Web API项目)提取到另一个不依赖AspNetCore框架的库中?或者我们可以使用 UseDotNet@2 之类的任务在管道代理上安装框架吗?

请按如下方式更改您的 UseDtonet 步骤和广告还原步骤:

- task: UseDotNet@2
  inputs:
    version: 3.1.x
    packageType: sdk

- task: DotNetCoreCLI@2
  inputs:
    command: 'restore'
    projects: '**/*.csproj'