0

我们有一个项目最近从 VS2010(使用 .net Framework 3.5)升级到 VS2012(使用 .net Framework 4)。我们使用 TFS,因此可以使用旧版本。

在调试 VS2010 版本的构建断点时,<TestMethod()>方法将起作用,在调用的代码上单步执行和断点是可行的,并且从头到尾单步执行代码。

在 2012 版本中,断点仅在<TestMethod()>代码中真正起作用。一旦代码离开该<TestMethod()>区域,事情就会变得奇怪。步入并通过代码似乎只是简单地步入代码中的随机行。值的解析很奇怪,调试器似乎在很大程度上随机地向前跳动代码。一旦调试器返回到<TestMethod()>代码区域,事情就会恢复正常,即使调试期间显示的值都很奇怪,调用的函数也会返回正确的结果。

我真的想不出如何比这更好地描述正在发生的事情。我不负责构建软件,而那些不知道他们所做的任何更改可能会导致此问题的人。

对于任何人来说,这听起来是否足够熟悉,以至于他们可以建议可能已经更改了哪些设置以产生这种行为,或者我需要在 .net 4 下设置什么才能让单元测试再次工作?

4

1 回答 1

0

当调试器使用的源代码与用于编译您正在调试的程序集的源代码不同时,通常会发生这种情况。

于 2013-09-02T14:44:20.350 回答