0

我正在尝试构建一个大型单存储库并在 Azure DevOps 中获得代码覆盖率结果。代码是 C#、VB 和 F# 的混合体,主要针对 .NET4.8 和一些 netstandard2.0。

前段时间,我使用 MS Build 构建解决方案的过程使用代码覆盖率进行部分 CI 构建,然后通过 dotnet test 和coverlet.collector 进行测试,如this answer中所述。

在我们决定尝试从 MS 托管代理迁移到自托管虚拟机规模集之前,此解决方案运行良好。使用库存的 Azure Marketplace Visual Studio 企业映像和带有 Visual Studio 构建工具的自定义映像,管道在很大程度上已停止产生结果。奇怪的是,它确实为 5 个左右的 F# 项目产生了代码覆盖率结果,但对于构​​成大部分代码库的 C#/VB 项目没有结果,并且没有产生错误消息。

单元测试的预期数量会报告给 Azure DevOps,因此看起来所有测试都在运行,但只有 F# 的测试具有代码覆盖率,即使所有 dll 都使用相同的命令进行测试。在本地运行的相同命令也会产生覆盖结果,所以我认为它一定是安装在 MS 托管代理和我的 VS Enterprise 机器上的映像中缺少某些组件。

我查看了MS Build Tools 文档和MS Hosted 代理的 repo,但我很难弄清楚缺少什么?

4

0 回答 0