我已经开始在VS2012 Ultimate中获得InvalidOperationException
说:
“调度程序处理已暂停,但邮件仍在处理中。”
...每当我在MessagBox
代码隐藏中的任何地方拨打UserControl
时。这当前似乎会影响我的计算机上的每个项目,包括我下载的项目以及除UserControl本身之外没有真正代码的新项目。但这似乎只影响UserControl
s;标准类和Windows的代码隐藏工作正常。
发生了System.InvalidOperationException
的HResult = -2146233079
Message = Dispatcher处理已暂停,但邮件仍在处理中。
源= WindowsBase
堆栈跟踪: 在System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd,Int32 msg,IntPtr wParam,IntPtr lParam,Boolean& processed)
InnerException:
InnerException为空,因为根据VS,它为null。这个问题对任何人都有意义吗?在Google搜索之后,我发现了一些抛出此异常的实例,但这些情况都不是这样的。我希望这里的某些人可能对可能导致这种情况的原因有所了解,并且可能能够在我重新安装VS并希望最好之前帮助我。
任何关于如何解决这个问题的想法都将非常感激。
Per Mark Hall的要求:像这样简单的类会导致异常:
public partial class TestView : UserControl
{
public TestView()
{
InitializeComponent();
System.Windows.MessageBox.Show("Test");
}
}
答案 0 :(得分:1)
Hans Passant是对的,你真的不应该在构造函数中尝试显示一个消息框。不仅在运行时调用构造函数,而且在设计时调用构造函数。
如果您正在使用它进行调试,请尝试写入日志文件或Console.WriteLine(...)。