应用程序无法启动

本文关键字:启动 应用程序 | 更新日期: 2023-09-27 18:35:29

您好,我创建了一个WinForms应用程序,我准备在其他计算机上(在我的计算机之外)实现该应用程序。我在其他地方运行它时遇到问题。

Program.cs文件中,我得到了这个,看看问题是什么:

static void Main()
{
   try
   {
       Application.EnableVisualStyles();
       Application.SetCompatibleTextRenderingDefault(false);
       Application.Run(new mainForm());
    }
    catch(SystemException ex)
    {
       MessageBox.Show("Error: ", ex.ToString());
    }
}

除了添加try/catch之外,它在这里没有编辑任何内容.我知道问题出在这个Program.cs因为我有一系列消息框设置为在MainForm_Load()块的不同阶段显示。应用程序未到达其中任何一个。

这可能听起来很模糊,但我根本无法让这个应用程序在我的笔记本电脑以外的任何地方工作。它会是我得到的Usings之一吗?如果需要,我可以包括这些。

编辑2:根据Marko的建议,我将所有外部DLL复制到与我尝试运行的EXE相同的根文件夹中。第三个 try-catch 块正在从Application.Run(new mainForm()); Program.cs中抛出异常,我将其追溯到我mainForm.cs的第 32 行。在这一行上,我有我的后台工作者:

private BackgroundWorker snBW = new BackgroundWorker();

我们离得更近了吗?

应用程序无法启动

很棒很酷的问题。

有时,应用程序会因为目标框架版本丢失、损坏或关闭而失败。您可以查看应用程序所需的框架、完整或客户端配置文件,并在使用前安装它。

损坏的框架问题经常发生在 .Net 2.0 上,因为该组件的Microsoft更新损坏。它不时发生在不同的机器上。解决方案是重新安装框架。

停用的.Net 3.5功能有时会在Windows 7,2008服务器上发生。它可以在Windows的功能中激活。

许多 .Net 3.5 应用程序实际上需要 .Net 3.5SP1。

首先,检查计算机上是否安装了适当的 .net 框架。其次,如果使用任何外部库,请确保将所有必需的 dll 复制到应用程序文件夹。

Form.Load 事件处理程序不会在外部 try–catch 块的上下文中执行。UI 事件实际上是回调;您应该在其每个处理程序中声明一个新的 try–catch 块,以便进行有效调试。