我正尝试通过以下代码启动WPF应用程序可执行文件:
Task.Factory.StartNew(() =>
{
CloseOpen();
});
void CloseOpen()
{
string srLocationss = @"" + srLocation + @"\Mycoded.exe";
Process.Start(srLocationss);
}
可执行文件启动并立即失败。如果我双击它,它可以工作。我真的很困惑。
这是错误
答案 0 :(得分:1)
屏幕截图清楚地显示您确实成功启动了该程序。但它立即崩溃并显示Windows错误报告对话框。您还没有ExitCode,因为该进程尚未退出。直到你关闭对话框才会发生这种情况。
显然,“调试程序”选项很有吸引力。
进程在启动时崩溃的原因很多。到目前为止,最常见的一个不是设置ProcessStartInfo.WorkingDirectory属性。编写得不好的程序通常假定默认工作目录设置为EXE的路径。并尝试加载具有相对路径名而不是完整路径名的文件(如“mumble.txt”而不是“c:\ foo \ bar \ mumble.txt”)。如果未设置工作目录,那就是kaboom。它不适用于您当前的代码。
如果此程序是您自己的程序,则通过为AppDomain.CurrentDomain.UnhandledException编写事件处理程序来改进它。显示或记录e.ExceptionObject.ToString()的值。现在你知道它崩溃的原因。