gpt4 book ai didi

启动新线程时.NET WPF MissingMethodException

转载 作者:行者123 更新时间:2023-12-01 23:30:06 26 4
gpt4 key购买 nike

我有一个 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 XP SP3 上测试针对 .NET 3.5 的应用程序时,我遇到了 System.MissingMethodException。我最终安装了 Visual Studio 2008 Express 来尝试从头开始编译该应用程序。然后,编译器给了我相关的错误,结果发现AutoResetEvent中的方法WaitOne只有一个带有2个参数的签名,因此我不得不重写:

reset.WaitOne(1000);

reset.WaitOne(1000, true);

我猜 Microsoft 忘记在 Windows XP .NET 3.5 版本中添加第一个重载。因为它在 Windows 7 中有效且存在。想想看。

关于启动新线程时.NET WPF MissingMethodException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/809337/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com