Kei*_*ith 6 .net wpf multithreading exception
我有一个WPF应用程序,其表单在启动时会在新线程中调用自定义方法.
Private Sub TestStep1_Loaded(ByVal sender As Object, ByVal e As System.Windows.RoutedEventArgs) Handles Me.Loaded
Dim oThread As New Thread(AddressOf DisplayNextPicture)
oThread.Start()
End Sub
Private Sub DisplayNextPicture()
'' do stuff
End Sub
Run Code Online (Sandbox Code Playgroud)
这在我的机器上工作正常,但在客户端的机器上启动新线程会导致MissingMethodException.我不确定为什么会发生这种情况(不幸的是,客户端位于远程位置,所以我不得不通过在跟踪语句和试错中滑动来调试它).它绝对是未找到的DisplayNextPicture()方法,因为我已经能够通过跟踪来确定.
我唯一能想到的是,这与框架层面的安全性有关.从WPF应用程序启动新线程是否有限制?
我无法通过Application.DispatcherUnhandledException捕获此异常,因此我无法获取任何异常详细信息或堆栈跟踪.客户端获取带有以下信息的.NET运行时异常对话框,这是我知道异常类型的唯一方法:
EventType:clr20r3 P1:testapp.exe P2:1.0.0.0 P3:49fa2234 P4:mscorlib P5:2.0.0.0 P6:471ebc5b P7:1295 P8:14
P9:system.missingmethodexception
请帮忙 :)
刚刚在尝试运行 Windows 服务(我编写的)时遇到了这个问题。该服务在我的测试环境中可以正常运行,但在其他机器上则不行。
问题原来是问题机器运行的是 Framework 版本 3.5,而我的开发机器运行的是 3.5 Service Pack 1。将机器升级到 SP1 解决了该问题。
希望这能减轻一些人的痛苦。