在 Visual Studio 2015 中打开单元测试调试器后,将进入错误的函数



我有一个nUnit测试,我将项目从VS 2012升级到2015。 现在,在调试单元测试时,调试器会单步执行错误的函数。 测试仍然通过,但调试不起作用。

当我得到getAString = newClass.ReturnString()时,调试器会同时执行。返回字符串和 .ReturnInt,然后当我到达Dim getAnInt = newClass.ReturnInt()时,它根本不会介入它。并且两者都不返回值。为什么当我调用第一个函数时它同时运行这两个函数? 下面的代码显然没有并行性。当我在 nUnit 中调试时,它会单步执行正确的函数,它们都返回一个值,当我在 Resharper 或 Nunit 测试适配器中调试时,调试器不起作用。

Imports NUnit.Framework
<TestFixture()>
Public Class Class1
<Test()>
Public Sub Test_Across_DateRanges()

    Dim newClass As New MyNewClass
    Dim getAnInt = newClass.ReturnInt()
    Dim getAString = newClass.ReturnString()
    Assert.That(getAnInt = 5)
    Assert.That(getAString = "Why is this breakpoint being hit?")
End Sub
End Class

Public Class MyNewClass
    Public Function ReturnInt() As Integer
        Return 5
    End Function
    Public Function ReturnString() As String
        Return "Why is this breakpoint being hit?"
    End Function
End Class

我的症状有几个根本原因,还有一些修复方法。

右键单击"解决方案

资源管理器">"属性"中的"解决方案">确保 eeeeEverything 设置为"调试/任何 CPU"。 选择"配置属性",顶行将变为活动状态。选择"调试"、"任何 CPU",然后打开配置管理器并在那里仔细检查!并在项目上下文中设置调试/任何CPU。这里的大部分内容:Visual Studio 2015 RTM - 调试不起作用确保归档>另存为...在.sln和 VBPROJ 文件中。

我很确定这是任何CPU的构建。

还有其他事项需要检查:

最新更新