You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VS2022升级后运行C++单元测试遇TestType注册冲突错误

解决VS2022升级后Google Test Adaptor在Azure Pipeline中TestType注册冲突问题
  • 升级Google Test Adaptor到最新版本
    你当前用的v1.17.0.32版本适配的是旧版VS,和VS2022的测试平台存在兼容性差异。试试更新到适配VS2022的最新版本(比如v2.x系列),该版本专门针对VS2022做了适配,能直接解决这类类型注册冲突问题。

  • 清理Azure Pipeline代理上的旧测试缓存
    代理机器可能残留了VS2019时期的测试平台组件或适配器缓存,导致类型注册冲突。在VSTest@2任务前加个脚本任务,清理以下目录:

    • %USERPROFILE%\.nuget\packages\microsoft.testplatform.*
    • %ProgramFiles(x86)%\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\Extensions\TestPlatform
      或者直接执行vstest.console.exe /ResetSettings命令重置测试平台设置。
  • 强制指定测试平台版本
    在VSTest@2任务中,通过testPlatformVersion参数指定与VS2022匹配的测试平台版本(比如17.x系列),避免任务自动选择旧版本组件:

    - task: VSTest@2
      inputs:
        testSelector: 'testAssemblies'
        testAssemblyVer2: '**\*test*.dll'
        searchFolder: '$(System.DefaultWorkingDirectory)'
        testPlatformVersion: '17.0'
    
  • 替换为官方Google Test扩展
    微软官方推出了适配VS2022的Google Test扩展,替换旧的Google Test Adaptor。这个扩展和VS2022测试平台深度兼容,不会出现这类注册冲突问题。卸载旧适配器,安装官方扩展后重新配置Pipeline任务即可。

  • 检查测试项目依赖配置
    确保测试项目没有同时引用新旧版本的测试平台NuGet包,比如Microsoft.TestPlatform.ObjectModel、Microsoft.NET.Test.Sdk等,统一使用VS2022对应的17.x版本,避免依赖冲突引发类型注册异常。

内容的提问来源于stack exchange,提问作者Kamran Bigdely

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 17:01:02