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

VS2017(15.7.1)切换分支后启动项目,加载LiveUnitTesting.Runtime失败求助

针对VS2017实时单元测试程序集加载失败的解决方案

我之前也碰到过类似的Live Unit Testing加载异常问题,结合VS2017 15.7.1这个版本的特性,给你几个针对性的解决思路:

  • 彻底清理项目输出与VS缓存
    分支切换后bin/obj目录很容易残留旧分支的程序集,导致加载混淆:

    1. 手动删除项目下的bin和obj目录,清空所有编译输出文件
    2. 关闭VS后,删除%LOCALAPPDATA%\Microsoft\VisualStudio\15.0_<你的VS实例ID>\ComponentModelCache目录,这个缓存经常会保留旧的程序集绑定规则
    3. 重启VS后重新生成整个解决方案
  • 添加程序集绑定重定向配置
    打开项目的app.config(Web项目用web.config),检查是否有针对该程序集的绑定配置,如果没有,手动添加:

    <runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
          <assemblyIdentity name="Microsoft.CodeAnalysis.LiveUnitTesting.Runtime" publicKeyToken="31bf3856ad364e35" culture="neutral" />
          <bindingRedirect oldVersion="0.0.0.0-1.7.0.0" newVersion="1.7.0.0" />
        </dependentAssembly>
      </assemblyBinding>
    </runtime>
    

    要是不确定版本号,可以去C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\Extensions\Microsoft\Live Unit Testing目录下查看实际安装的程序集版本,替换上面的newVersion值。

  • 修复或重装Live Unit Testing组件
    打开VS Installer,选择"修改"你的VS2017安装:

    1. 找到"测试工具"分类下的"实时单元测试"组件,先取消勾选完成卸载
    2. 重新勾选该组件并完成安装
      这个操作能修复可能损坏的组件文件,确保程序集版本与VS版本完全匹配。
  • 检查分支切换后的项目引用
    切换分支后部分引用可能出现异常:

    1. 右键项目选择"管理NuGet程序包",查看是否存在Microsoft.CodeAnalysis.LiveUnitTesting.Runtime相关包,如有则更新到适配VS2017 15.7.1的版本(通常为1.7.x系列)
    2. 检查项目引用中是否错误指向了project/bin目录下的程序集,若有则删除该引用,重新添加VS安装目录下的对应程序集

关于为何从project/bin加载的说明

这是因为实时单元测试运行时会将所需程序集复制到项目bin目录,分支切换后旧的程序集未被自动清理,而VS的程序集绑定机制会优先加载本地bin目录下的文件,导致加载了与当前VS版本不匹配的旧程序集,最终触发版本错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 07:04:52