应用程序中出现未处理的 win32 异常

Unhandled win32 exception occured in the application

我在 vb.net 中有一个应用程序,我正在 Windows 10 中测试它,但我似乎遇到了错误(下图)。此应用程序在 Windows 7 中完美运行,并且在 Windows 10 中实际运行没有任何问题,问题是,当我退出应用程序时出现错误。

它的结构方式是,如果我从 IDE 运行 开始,我首先会看到一个登录 Windows,用户在其中登录,然后转到 MENU。如果在我们的环境中是 运行,用户不必登录,因此不会出现登录表单,直接进入 MENU。

一切正常,直到我转到 EXIT 应用程序,它变得一团糟,这是来自 EXIT 按钮的代码...

    Dim Answer as Integer
    Answer = MsgBox("Are you sure you wish to Close the application ?", MsgBoxStyle.YesNo)
    If answer = vbYes Then
        End
    End If

这些是我得到的错误:

首先我得到这个错误,点击 CLOSE PROGRAM 完全关闭它,如果我点击 debug 我得到下面的 windows...

第二个错误表明我实际上有 VS2010 和 VS2012,它让我进行调试。问题是,源代码在 TFS 中,碰巧我无法从我的 windows 10 机器(仅从 Win 7)访问 TFS。所以我无法调试它。但是为什么这只在 windows 10 中发生?

我什至在 END 之前执行 Me.Close() 以确保表单已关闭。同样,它在 Win 7 中运行良好,但在 Win 10 中它给了我同样的问题。

使用"End"关闭程序可能会有问题; this SO question 的评论和回答解释了为什么会这样。至于使用 Application.Exit() 时弹出的第二个问题,这是您的程序引用多个具有相同名称的函数调用的程序集的简单情况。在这种情况下,显式导入的 Microsoft.Office.Interop.Excel 和隐式导入的 System.Windows.Forms 都有 "Application.Exit()" 成员。由于您已显式导入 Excel,因此当编译器被迫决定使用哪个 Exit() 时,它会使用那个,这会由于正在使用的上下文而抛出错误,并且实际上不会关闭程序。要纠正这个问题,您所要做的就是通过替换

明确告诉编译器您想使用哪个 Exit()
Application.Exit()

System.Windows.Forms.Application.Exit()