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

Visual Studio 2022中MsTest单元测试无法单步调试该如何解决

解决VS2022中MSTest单元测试无法单步调试的问题

针对你从VS2019升级到VS2022、同时将项目从.NET Core 3.1迁移到.NET 6.0后出现的MSTest断点无法命中、无法单步调试的问题,可尝试以下解决方案:

  • 确认测试项目的生成配置为Debug
    确保测试项目当前使用的是Debug生成配置(而非Release),Release模式下的代码优化会导致断点失效。可通过VS顶部工具栏的配置下拉框切换,或右键测试项目→属性→生成,在“配置”下拉框选择Debug,并将“调试信息”设置为“完整”。

  • 更新MSTest相关NuGet包
    检查测试项目的NuGet依赖,确保MSTest.TestAdapter和MSTest.TestFramework为兼容.NET 6的最新稳定版本(建议3.0.0及以上)。旧版本适配器可能与VS2022的测试运行器不兼容,导致调试异常。

  • 排查依赖注入的影响
    你的测试类使用了构造函数注入IApiManager,可先尝试替换为直接实例化具体实现类(而非依赖DI容器)进行测试,验证是否是DI代理类(如Moq动态代理)或容器初始化问题导致断点无法命中。如果替换后能正常调试,再检查DI容器的配置逻辑。

  • 清理测试运行器缓存与项目文件

    1. 关闭VS,删除测试项目下的bin和obj文件夹,重新生成整个解决方案;
    2. 打开VS后,依次点击测试→测试设置→选择测试设置文件,确保未选中异常的配置文件,或重置为默认测试设置;
    3. 删除%USERPROFILE%\AppData\Local\Temp\VisualStudioTestExplorerExtensions文件夹,重启VS后重新尝试调试测试。
  • 手动附加调试器到测试进程
    触发测试调试时,在VS中点击调试→附加到进程,找到testhost.exe(或对应架构的testhost.x86.exe)并附加,再重新运行测试,验证是否能命中断点。

  • 检查编辑并继续设置
    右键测试项目→属性→调试,勾选“启用编辑并继续”选项,该设置异常可能间接影响调试流程。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 10:30:29