7

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

问题如下:执行后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 文件的完整路径。

在调试中我看到,该过程正在开始,并且没有错误地结束。

4

1 回答 1

11

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

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

于 2013-08-01T22:57:53.017 回答