调试器将步骤转换为私有方法以跳过

时间:2015-11-15 15:59:03

标签: c# debugging asp.net-web-api

我有一个名为MyClient的课程。 MyClient有一个名为GetStuff的方法,如下所示:

public List<Stuff> GetStuff(string query) 
{
    var result = Send<Stuff>("/stuff", query)
    return Parse<Stuff>(result);  
}

当我尝试调试并进入Send和/或Parse时,我收到一条消息,我的步骤已转换为步骤。很像this问题。

但是,SendParse不是属性。它们是我可以成功调试的同一个类中的私有方法。我已禁用设置以跳过工具中的属性 - &gt;调试 - &gt;一般它仍然跳过它。事实上,即使我不尝试进入发送,只进入我在Parse线的下一个断点,它立即退出GetStuff。我无法查看中间结果。

我认为关键是MyClient引用System.Web.Http 5.2.3.0并使用它来发出请求。我在使用System.Web.Http 4.0.0.0的解决方案中使用包含MyClient的项目作为git子模块。我通过创建一个显式引用来解决这个冲突,在我的Web.config中找到5.2.3.0,如burtons回答所示。我这样做是因为正确升级会引发一系列死亡需要很长时间才能解决。我稍后会这样做,但现在它不是一个选项。

我正在使用VS2015。

任何帮助都会非常感激,因为我完全卡住了,无法调试我自己的代码。提前谢谢!

1 个答案:

答案 0 :(得分:0)

我相信我找到了原因。尝试加载System.Web.Http时,我得到FileLoadException。这在调用Send时发生,但不在方法本身内。此外,我何时停止异常的设置不正确,因此看起来调试器只是跳过了该方法。