【发布时间】:2013-09-02 14:40:59
【问题描述】:
我们有一个项目最近从 VS2010(使用 .net Framework 3.5)升级到 VS2012(使用 .net Framework 4)。我们使用 TFS,因此可以使用旧版本。
在调试 VS2010 版本的构建断点时,<TestMethod()> 方法将起作用,在被调用代码上单步执行和断点有效,并且从头到尾单步执行代码。
在 2012 版本中,断点仅在 <TestMethod()> 代码中真正起作用。一旦代码离开<TestMethod()> 区域,事情就会变得奇怪。步入并通过代码似乎只是简单地步入代码中的随机行。值的解析很奇怪,调试器似乎在很大程度上随机地向前跳动代码。一旦调试器返回到<TestMethod()>代码区,一切就恢复正常了,即使调试过程中显示的值都很奇怪,被调用的函数也会返回正确的结果。
我真的想不出如何比这更好地描述正在发生的事情。我不负责构建软件,而那些不知道他们所做的任何更改可能会导致此问题的人。
这听起来对任何人来说是否足够熟悉,以至于他们可以建议可能已经更改了哪些设置来产生这种行为,或者我需要在 .net 4 下设置什么才能让单元测试再次工作?
【问题讨论】:
标签: .net visual-studio-2010 unit-testing debugging visual-studio-2012