解决方法
通过将DebuggerNonUserCodeAttribute放在你的方法上,做这个事情的唯一方法就是这样做.
很好的解释它here …
This is an attribute that you put against a method to tell the debugger “Nothing to do with me guv’. Ain’t my code!”. The gullible debugger will believe you,and won’t break in that method: using the attribute makes the debugger skip the method altogether,even when you’re stepping through code; exceptions that occur,and are then caught within the method won’t break into the debugger. It will treat it as if it were a call to a Framework assembly,and should an exception go unhandled,it will be reported one level up the call stack,in the code that called the method.
代码示例:
public class Foo { [DebuggerNonUserCode] public void MethodThatThrowsException() { ... { }