Winforms 在VS2010中查找设计器异常的源时遇到问题
在加载我正在使用的WinForms应用程序的主窗体时,我遇到了一个常见的异常:“为了防止加载设计器之前可能的数据丢失,必须解决以下错误”错误。stacktrace如下所示:Winforms 在VS2010中查找设计器异常的源时遇到问题,winforms,visual-studio-2010,Winforms,Visual Studio 2010,在加载我正在使用的WinForms应用程序的主窗体时,我遇到了一个常见的异常:“为了防止加载设计器之前可能的数据丢失,必须解决以下错误”错误。stacktrace如下所示: Object reference not set to an instance of an object. Instances of this error (4) 1. Hide Call Stack at System.ComponentModel.ReflectPropertyDescriptor
Object reference not set to an instance of an object.
Instances of this error (4)
1. Hide Call Stack
at System.ComponentModel.ReflectPropertyDescriptor.SetValue(Object component, Object value)
at Microsoft.VisualStudio.Shell.Design.VsTargetFrameworkPropertyDescriptor.SetValue(Object component, Object value)
at System.Windows.Forms.Design.ControlDesigner.CanResetSizePropertyDescriptor.SetValue(Object component, Object value)
at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializePropertyAssignStatement(IDesignerSerializationManager manager, CodeAssignStatement statement, CodePropertyReferenceExpression propertyReferenceEx, Boolean reportError)
at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeAssignStatement(IDesignerSerializationManager manager, CodeAssignStatement statement)
at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeStatement(IDesignerSerializationManager manager, CodeStatement statement)
我知道是什么导致了这个错误——在MainForm中的某个地方有四行代码引用了一个在设计时不存在的图像对象。我甚至有一个如何修复错误的想法,多亏了。问题是,我找不到引发异常的行。通常,我会使用导航到异常,但它表示没有错误。关于如何定位有问题的行有什么想法吗?我通常发现这与托管在依赖DI容器或类似容器的表单上的用户控件有关,但正如您所说,有时很难从设计器提供的调用堆栈中确定源。如果您托管了很多控件,要找出哪些控件导致了问题,而不必深入研究每一个控件,您可以: