-1

我正在尝试通过以下代码启动 WPF 应用程序可执行文件:

            Task.Factory.StartNew(() =>
            {
                CloseOpen();
            });

void CloseOpen()
{
      string srLocationss = @"" + srLocation + @"\Mycoded.exe";
      Process.Start(srLocationss);
}

可执行文件启动并立即失败。如果我双击它,它可以工作。我真的很困惑。

这是错误

在此处输入图像描述

4

1 回答 1

1

屏幕截图清楚地表明您确实成功地启动了程序。但它立即崩溃并显示 Windows 错误报告对话框。您还没有 ExitCode,因为该进程尚未退出。在您关闭对话框之前不会发生这种情况。

显然,“调试程序”选项很有吸引力。

进程在启动时崩溃的许多原因。到目前为止,最常见的一种方法是不设置 ProcessStartInfo.WorkingDirectory 属性。编写不佳的程序通常假定默认工作目录设置为 EXE 的路径。并尝试使用相对路径名而不是完整路径名加载文件(例如“mumble.txt”而不是“c:\foo\bar\mumble.txt”)。如果没有设置工作目录,那就太糟糕了。它不会与您当前的代码一起使用。

如果这个程序是你自己的,那么通过为 AppDomain.CurrentDomain.UnhandledException 编写一个事件处理程序来改进它。显示或记录 e.ExceptionObject.ToString() 的值。现在你知道它为什么崩溃了。

于 2013-02-28T00:14:50.403 回答