这个有点深奥.尝试在visual studio 2008中的
winforms项目中打开表单(在winforms设计器中)时遇到了NullReferenceException.堆栈跟踪指向以下代码的第四行:
public static class Logger { public static void LogMethodEnter() { var frame = new StackFrame(1); var method = frame.GetMethod(); Trace.TraceInformation("{0}.{1}.{2}()",method.DeclaringType.Namespace,method.DeclaringType.Name,method.Name); Trace.Indent(); } public static void LogMethodExit() { Trace.Unindent(); } }
…意思是开口大括号的线条.我在其他项目中遇到了同样的问题(但不涉及winforms设计器),我认为这是一个与线程相关的问题,但我没有代码来复制它.
为什么会发生这种情况,为什么异常堆栈跟踪指向带有花括号的行?
澄清:空引用异常仅发生在winforms设计器中.运行应用程序时,它不会抛出该错误.