我无法在项目中使用Resharper-Debug选项调试我的测试。我看到很多人提出这个问题,但是没有找到解决我问题的坚实建议。 奇怪的是,如果我创建一个示例项目并编写一个简单的单元测试,我就可以毫无问题地调试它。但是当我尝试在我当前的项目中执行此操作时,它只是抛出一个对话框说“无法启动调试器“。我已经与同行一起检查了这个问题,他们没有遇到这个问题:(
运行测试时我也没有任何问题。
这是一台XP机器,以下是resharper的版本:
JetBrains ReSharper 5.1 C#Edition
在2010-10-15T15:51:30构建5.1.1753.4许可:XXXXXXX
插件:无。
Visual Studio 9.0.21022.8。版权所有©2003-2011 JetBrains s.r.o ..保留所有权利。
谢谢, -M
答案 0 :(得分:21)
我偶尔会遇到无法使用Resharper调试图标启动的测试(由于模拟对象或32对64位dll)。对我有用的解决方案是添加显式调用以在测试中启动调试器
Debugger.Launch();
然后正常运行测试。当代码执行到达该行时,您将获得安全弹出窗口(选择是)
然后是一个视觉工作室选择弹出窗口(选择你当前运行的视觉工作室)。
您将在添加Debugger.Launch()行的位置以调试模式进入代码。
答案 1 :(得分:21)
可能对这里绊倒的人有用,具体来说,我遇到了错误:
---------------------------
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
)来解决问题
答案 2 :(得分:3)
您可以告诉Resharper在32位进程中运行单元测试,而不是将Project的构建属性更改为x86(如果在团队中工作可能影响其他团队成员),您可以告诉Resharper在32位进程中运行单元测试。
Resharper - >选项 - >工具 - >单元测试 - >一般 - >默认平台架构
将此设置为"强制测试以32位进程运行"
答案 3 :(得分:0)
更改为x86对我不起作用。
有效的方法是在VS(2017)中使用托管兼容性代码:工具->选项->调试->常规->选中使用托管兼容性模式。
VS Pro 2017 15.7.6,R#2017.3.2