加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

启动新线程时出现.NET WPF MissingMethodException

发布时间:2020-12-16 23:28:56 所属栏目:Python 来源:网络整理
导读:我有一个 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
我有一个 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

这在我的机器上工作正常,但在客户端的机器上启动新线程会导致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服务时遇到此问题(我已经写过).该服务可以在我的测试环境中正常运行,但不能在另一台机器上运行.

问题是,当我的开发机器在3.5 Service Pack 1上运行时,麻烦的机器正在运行Framework 3.5版本.将机器升级到SP1解决了这个问题.

希望这能缓解某人的痛苦.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读