You need to enable JavaScript to run this app. Azure DevOps CI Test Adapter运行失败:强名称验证失败问题咨询
优惠活动
大模型
产品
解决方案
定价
更多

Azure DevOps CI Test Adapter运行失败:强名称验证失败问题咨询

MSTest CI 构建报错解决方案

调用执行器'executor://mstestadapter/v2'时发生异常:未能加载文件或程序集'Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'或它的某一依赖项,强名称验证失败(异常来自 HRESULT: 0x8013141A)

该报错的核心原因是CI环境中VSTest任务默认优先加载全局安装的旧版本MSTest适配器,和项目中引用的2.2.5版本Nuget适配器存在版本冲突,导致强名称校验不通过。可按以下步骤排查解决:

  • 调整VSTest@2任务配置,强制使用项目Nuget路径下的适配器,禁用全局VSIX扩展加载。将你的YAML配置修改为如下内容:
- task: VSTest@2
  inputs:
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'
    pathToCustomTestAdapters: '$(System.DefaultWorkingDirectory)/**/packages/MSTest.TestAdapter.2.2.5/build/*'
    otherConsoleOptions: '/UseVsixExtensions:false'
  • 校验测试项目的包引用配置。打开测试项目的.csproj文件,确认不存在直接引用14.0.0.0版本Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices程序集的配置,所有测试相关依赖均通过Nuget安装,无本地程序集引用。如果存在旧版本的绑定重定向规则,删除后重新执行Nuget还原。
  • 检查CI代理环境。如果使用自托管CI代理,确认代理机器没有单独安装旧版本MSTest适配器的VSIX扩展,也没有在GAC全局缓存中安装14.0.0.0版本的相关程序集。如果使用微软托管代理,确保在VSTest任务前添加了Nuget还原任务,所有依赖包都正确还原到工作目录。
  • (可选)添加绑定重定向兼容。如果以上步骤都无法解决问题,可以在测试项目的app.config文件中添加绑定重定向规则,将旧版本的程序集请求重定向到当前使用的2.2.5版本:
<dependentAssembly>
  <assemblyIdentity name="Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
  <bindingRedirect oldVersion="0.0.0.0-2.2.5.0" newVersion="2.2.5.0" />
</dependentAssembly>

内容的提问来源于stack exchange,提问作者Jason Coyne

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 05:51:00