【问题标题】:Application is not shown. Why?应用程序未显示。为什么?
【发布时间】:2009-12-17 06:48:42
【问题描述】:

我的应用程序是用 VB.NET 构建的。这是一个EXE应用程序。 它已经作为独立应用在数十个 Windows 主机上运行良好 - 无需开发环境。

现在我尝试在 Windows 2008 服务器上运行它(作为本机应用程序),但没有显示表单 - 没有显示任何内容。当我调试时,我看到它正在运行所有“form_load”子例程,直到最后,但没有显示任何内容。我没有发现任何错误。 可能是什么原因?我应该检查什么?

我必须说它在许多其他 Windows 机器上运行良好,但在 Windows 2008 服务器机器上却不行(我们在另一台机器上试过)。

它不是数据库应用程序。仅限 GUI。

提前致谢!

【问题讨论】:

  • 需要更多数据。比如你试图做什么?尝试在 vb.net 中制作单一表单应用程序并在该计算机上运行它,看看会发生什么等等。如果它可以工作 - 尝试评论你在这个应用程序中的逻辑并运行它。
  • 当您尝试在机器上运行时,您是否看到任务管理器中显示了 vsjitdebugger?可能是form_load期间发生错误。
  • 你多次提到在这台机器上调试它;你能指定它是如何被调试的吗?您是在使用远程调试还是在机器本身上安装了 Visual Studio?

标签: vb.net windows-server-2008


【解决方案1】:

你说“什么都没有显示”。但是该应用程序是否显示在 Windows 任务栏上?

可能正在显示表单 - 但该位置不在屏幕上。例如,左上角可能位于 (1300,1100) 或 (-1300,-1100)。

尝试再次运行它,但随后(当表单应该可见时)尝试按 ALT + SPACE。如果您的窗口确实存在,您将看到一个系统菜单(恢复、移动、大小等)。在这种情况下,选择大小 - 您应该能够使用鼠标和/或键盘箭头键来使窗口可见。

另一方面,如果应用程序应该显示在 Windows 任务栏中,但它没有显示,那么 form_Load 中(或之后)发生了一些事情,导致应用程序退出。要仔细检查是否发生这种情况,请尝试添加以下代码:

    Private Sub Form1_FormClosed(ByVal sender As Object, _
        ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
    MsgBox("Form is closing")
End Sub

【讨论】:

    【解决方案2】:

    确保它不会在启动时崩溃。

    【讨论】:

      【解决方案3】:

      我想在服务器上安装了适当的 .net 框架?

      【讨论】:

      • “当我调试时,我看到它正在运行所有“form_load”子例程直到结束,但没有显示任何内容。我没有发现任何错误“-我认为这意味着 .NET Framework 已安装或他怎么调试?
      【解决方案4】:

      如果由于应用程序终止而没有显示任何内容,则可能是由于未处理的异常。您可以通过进入任务管理器并查看应用程序是否正在运行来判断应用程序是否已终止。如果它已终止,请检查 Windows 应用程序事件日志。如果幸运的话,您会在该日志中看到一个错误条目,甚至可能是堆栈跟踪。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-20
        • 2018-09-24
        相关资源
        最近更新 更多