首先,我确实看过this一个。但我没有得到解决方案。
接受的anser说要像这样使用它:
Process p = new Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.FileName = "myExec.exe";
p.Start();
但这不适合我。异常的消息说“系统找不到指定的文件”。
我错过了什么吗?我直接将exe添加到项目本身。
答案 0 :(得分:7)
您是否检查过.exe是否确实存在?即在bin \ Debug文件夹中? (假设调试版本)。
您可以通过Visual Studio中的属性将.exe设置为复制到输出目录。
答案 1 :(得分:2)
听起来你在Visual Studio项目中添加的.exe文件没有被复制到构建的输出目录(通常是bin \ Debug)。
在Solution Explorer中选择.exe,然后选中Properties(F4)。将有一个名为“复制到输出文件夹”的属性,您可以将其设置为“仅当更新”或“始终”。
这应该让你的进程启动方法使用.exe的相对路径,因为它在构建后总是在同一个文件夹中。
答案 2 :(得分:0)
“系统找不到指定的文件”表示文件在给定路径中丢失或文件路径错误。仔细检查一下。
答案 3 :(得分:0)
运行时无法找到exe。确保构建/发布文件夹中已存在Exe。您还可以编写post脚本,将所需的exe从任何其他路径复制到debug / release文件夹。这将解决您遇到的错误。
答案 4 :(得分:0)
为了更好地使用此方法,您可以将myExec.exe打包到资源,如果在运行程序时解压缩它。使用它,您将能够知道exe文件的正确完整路径。只需检查myExec.exe是否存在运行过程。