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

使用编码UI测试时无法加载WebDriver程序集(版本2.53.1.0)求助

问题分析与解决方案

一、定位旧版本WebDriver引用来源

  • 检查依赖树:执行dotnet list package --include-transitive(适用于.NET Core/.NET 5+),或在Visual Studio中通过「管理NuGet包」查看项目的间接依赖,确认是否有第三方包引用了WebDriver 2.53.1.0版本。
  • 核查配置文件绑定重定向:打开app.config或web.config,检查<assemblyBinding>节点是否存在未更新的WebDriver版本重定向规则,这类规则可能强制程序加载旧版本。
  • 检查全局程序集缓存(GAC):以管理员身份运行命令提示符,执行gacutil /l WebDriver,若输出中存在2.53.1.0版本的记录,说明GAC中的旧程序集可能被优先加载。

二、启用调试与日志工具

  • 程序集绑定日志查看器:
    1. 打开开发者命令提示符,运行fuslogvw.exe。
    2. 在「设置」中选择「记录所有绑定失败到磁盘」并指定日志目录,重启测试程序触发报错后,回到查看器即可查看WebDriver加载失败的详细路径、尝试加载的版本及来源。
  • 代码输出已加载程序集:在测试初始化阶段添加以下代码,输出所有已加载的WebDriver相关程序集信息:
foreach (var assembly in AppDomain.CurrentDomain.GetAssemblies())
{
    if (assembly.FullName.Contains("WebDriver"))
    {
        Console.WriteLine($"已加载程序集: {assembly.FullName}, 路径: {assembly.Location}");
    }
}
  • Visual Studio调试追踪:在测试项目属性的「调试」选项中启用「启用本机代码调试」,设置断点在报错位置,通过调用栈追踪触发旧版本引用的组件。

三、快速修复方案

  • 更新所有依赖包:执行dotnet restore或在NuGet包管理器中更新所有依赖,确保间接依赖的版本与WebDriver 4.4.0兼容。
  • 添加显式绑定重定向:在app.config/web.config的<runtime>节点下添加以下配置,强制所有WebDriver引用指向4.4.0版本:
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  <dependentAssembly>
    <assemblyIdentity name="WebDriver" publicKeyToken="1c2bd1631853048f" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-4.4.0.0" newVersion="4.4.0.0" />
  </dependentAssembly>
</assemblyBinding>
  • 清理GAC中的旧版本:若GAC中存在WebDriver 2.53.1.0,执行gacutil /u WebDriver,Version=2.53.1.0,Culture=neutral,PublicKeyToken=1c2bd1631853048f删除该版本(需管理员权限)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 16:50:43