我有这个多线程 WPF 应用程序和两台不同的机器,我正在测试它。
第一个是 VMware 客户端上的 Windows 7 Professional SP1 虚拟机。第二个是Win 7 Professional 物理机。没有 SP1。
在第一台机器上,应用程序正常运行,在第二台机器上,应用程序在调用时输出 AccessViolation 异常:
App.Current.Dispatcher.Invoke(() => { do stuff });
来自以下列方式创建的线程:
ThreadPool.QueueUserWorkItem( /* callback that calls the dispatcher */ );
如果 .Net 框架版本相同,你能告诉我为什么会有不同的行为吗?是因为Service Pack吗?我该如何解决这个问题?