c# - Process.Start() 无法正常工作

标签 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 文件的完整路径。

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

最佳答案

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

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

关于c# - Process.Start() 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18006016/

相关文章:

c# - 将 XML 字符串作为参数传递给 Process.Start

c# - 当完整路径解析为 64 位目录时,无法从 32 位 C# 应用程序启动快捷方式 (lnk) 文件

c# - 作为数据注释属性值的动态表达式

c# - Log4Net 单独的配置文件不起作用

c - 查找超过 1 个输入字符串的长度

c# - 应该如何为 "send-receive"方法编写单元测试?

c# - 如何使用 Process.Start 打开 word 文件(带空格的路径)?

c# - ASP.NET MVC FileNotFoundException 错误

c# - 交错放置一组电子邮件地址,避免具有相同域的项目连续

java - 无法用java写入文件