【发布时间】:2021-03-09 02:54:32
【问题描述】:
我们正在为 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项目构建成功,但是测试运行失败,报错如下:
找不到框架“Microsoft.AspNetCore.App”,版本“3.1.0”。
我们是否需要将我们想要测试的类(来自 Web API 项目)提取到另一个不依赖于 AspNetCore 框架的库中?或者我们可以通过 UseDotNet@2 之类的任务在管道代理上安装框架吗?
【问题讨论】:
-
请在运行构建和测试之前尝试恢复 nuget 包。
-
旁注:当您指定
3.1.0时,您明确表示您要使用2019 年12 月发布的3.1.0版本。如果您想要最新版本,您应该指定@ 987654325@(见UseDotNettask documentation)。 -
@Métoule 谢谢,好点子。由于错误消息,我将其更改为 3.1.0,但现在我已将其更改回 3.1.x。
标签: asp.net-core .net-core azure-devops yaml xunit