【问题标题】:Azure Devops can't run .NET Framework and dotnet core unit test in the same CI taskAzure Devops 无法在同一个 CI 任务中运行 .NET Framework 和 dotnet core 单元测试
【发布时间】:2021-05-02 16:03:43
【问题描述】:

我有一个 .NET 框架/.NET Core 项目的解决方案。

  • library.csproj(.net 标准)
  • library.UnitTests.csproj(.net 框架)
  • WebApi.csproj(.net 核心)
  • WebApi.UnitTests.csproj(.net 核心)

我有一个通过 AzureDevops 构建的 CI,用于在 SonarQube 上导出覆盖范围。

所以,运行后,我得到了这个错误:

测试运行将使用为框架 .NETFramework、Version=v4.0 和平台 X64 构建的 DLL
以下 DLL 与框架/平台设置不匹配。
WebApi.UnitTests.dll 是为 Framework 2.2 和 Platform AnyCPU 构建的。

我尝试将管道分成两个步骤然后它可以工作,但我失去了第一个步骤的代码覆盖率。(不能做很多与 sonarQube 相关的事情)。

知道在同一个任务中一起运行测试吗?或者有其他方法吗?

【问题讨论】:

    标签: .net unit-testing build azure-devops vstest


    【解决方案1】:

    出现这个问题的原因可能是你项目中的UnitTests.dll是为Framework 2.2和Platform AnyCPU构建的,但是在UnitTest任务中使用的是Framework 4.0和Platform x64。您可以添加/Framework 参数来解决这个问题。

    /Framework:.NETCoreApp,Version=v2.0
    

    【讨论】:

    • 我试过了,通过这样做,只测试了 WebApi.UnitTests。我收到此消息:测试运行将使用为框架 .NETCoreApp、Version=v2.0 和平台 X64 构建的 DLL 下列 DLL 与框架/平台设置不匹配。 library.UnitTests.dll 是为 Framework 4.6.1 和 Platform AnyCPU 构建的
    猜你喜欢
    • 1970-01-01
    • 2022-08-16
    • 1970-01-01
    • 2021-01-05
    • 1970-01-01
    • 1970-01-01
    • 2019-12-27
    • 2021-10-25
    • 2020-08-13
    相关资源
    最近更新 更多