Process.Start()无法正常工作

时间:2013-08-01 22:54:12

标签: c# io process.start

我有程序pro1.exe从输入文件读取,计算结果并将其写入输出文件。 现在我正在编写程序test.exe,在不同的测试中测试它(填充输入,使用Process.Start()运行pro1并将输出与假设进行比较)

问题如下:执行pro1.exe后输出文件为空。但是,如果我手动运行它,它会写入输出文件。

以下是执行pro1的代码:

    ProcessStartInfo processInfo = new ProcessStartInfo();
    processInfo.FileName = _applicationName;
    processInfo.ErrorDialog = true;
    processInfo.UseShellExecute = false;
    processInfo.RedirectStandardOutput = true;
    processInfo.RedirectStandardError = true;

    Process proc = Process.Start(processInfo);

_applicationName是exe文件的完整路径。

在调试中我看到,该进程正在启动,结束时没有错误。

1 个答案:

答案 0 :(得分:9)

这通常是由于WorkingDirectory不同造成的。您可能需要设置WorkingDirectory属性以匹配可执行文件的路径。

如果没有这个,当UseShellExecute == false时,工作目录可能不是应用程序的本地路径。