c# – 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时,工作目录可能不是应用程序的本地路径.

相关文章

目录简介使用JS互操作使用ClipLazor库创建项目使用方法简单测...
目录简介快速入门安装 NuGet 包实体类User数据库类DbFactory...
本文实现一个简单的配置类,原理比较简单,适用于一些小型项...
C#中Description特性主要用于枚举和属性,方法比较简单,记录...
[TOC] # 原理简介 本文参考[C#/WPF/WinForm/程序实现软件开机...
目录简介获取 HTML 文档解析 HTML 文档测试补充:使用 CSS 选...