【问题标题】:Cannot debug tests using Resharper - Cannot Launch Debugger无法使用 Resharper 调试测试 - 无法启动调试器
【发布时间】:2011-01-12 13:25:23
【问题描述】:

我无法在我的项目中使用 Resharper-Debug 选项来调试我的测试。我已经看到很多人提出了这个问题,但还没有找到解决我问题的可靠建议。 奇怪的是,如果我创建一个示例项目并编写一个简单的单元测试,我可以毫无问题地对其进行调试。但是,当我尝试在当前项目中执行此操作时,它只会抛出一个对话框,上面写着“无法启动调试器”。我已经和我的同行检查过,他们没有遇到这个问题:(

另外我在运行测试时没有任何问题。

这是一台XP机器,下面是resharper的版本:

JetBrains ReSharper 5.1 C# 版
在 2010-10-15T15:51:30 上构建 5.1.1753.4

授权给:XXXXXXX
插件:无。
视觉工作室 9.0.21022.8。

版权所有 © 2003–2011 JetBrains s.r.o.。保留所有权利。

谢谢, -M

【问题讨论】:

  • 你使用什么单元测试框架?
  • 那么你的环境和你的同行有什么不同呢? JetBrains 本地应用数据下有错误日志吗?

标签: c# tdd resharper


【解决方案1】:

我偶尔会遇到无法使用 Resharper 调试图标启动的测试(由于模拟对象或 32 位和 64 位 dll)。一个适合我的解决方案是添加一个显式调用以在测试中启动调试器

Debugger.Launch();

然后正常运行测试。当代码执行到该行时,您会收到一个安全弹出窗口(选择是)

然后是视觉工作室选择弹出窗口(选择您当前正在运行的视觉工作室)。

您将在添加 Debugger.Launch() 行的位置以调试模式进入您的代码。

【讨论】:

  • 解决了我的调试器只运行了一半的问题:/ 很奇怪。谢谢
【解决方案2】:

可能对在这里磕磕绊绊的人有用,具体来说,我遇到了错误:

---------------------------
ReSharper – Unit Testing
---------------------------
Cannot launch debugger.

Error code: 89710016

Error message: 0

在尝试调试 NUnit 测试时在 VS 2013 Pro 上使用 R# 8.2。

finding this link 之后,通过将 NUnit 类库项目更改为 x86 (Properties -> Build -> Platform Target : x86) 解决了问题

【讨论】:

  • 帮助了我。 VS 2015。R# 2016.3
  • 对我也有效 VS 2015 14.0.25431.1, R# 10.0.2
【解决方案3】:

您可以告诉 Resharper 在 32 位进程中运行单元测试,而不是将项目的构建属性更改为 x86(如果在团队中工作会影响其他团队成员)。

Resharper -> 选项 -> 工具 -> 单元测试 -> 常规 -> 默认平台架构

将此设置为“强制测试在 32 位进程中运行”

【讨论】:

  • VS 2015 也为我工作
【解决方案4】:

更改为 x86 对我不起作用。

有效的是在 VS (2017) 中使用托管兼容性代码:工具-> 选项-> 调试-> 常规-> 选中使用托管兼容模式。

VS Pro 2017 15.7.6,R#2017.3.2

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-05-13
    • 2021-11-02
    • 2018-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多