2010-03-29 147 views
1

首先我看了一下this。但我没有得到解决方案。如何运行在项目中添加的exe文件

接受的雁说,使用这样的:

Process p = new Process(); 
p.StartInfo.UseShellExecute = false; 
p.StartInfo.RedirectStandardOutput = true; 
p.StartInfo.FileName = "myExec.exe"; 
p.Start(); 

但是这不是为我工作。例外消息显示“系统找不到指定的文件”。

我错过了什么吗?我将exe直接添加到项目本身。

+0

所以接受mookid的回答...... – 2010-03-29 06:25:17

+0

@Steven:正在尝试这样做,但我想我无法在7分钟内接受答案,因此阻止了我这样做。 – Manish 2010-03-29 06:34:14

回答

7

您是否检查.exe是否真的存在?即在bin \ Debug文件夹中? (假设调试版本)。

您可以通过Visual Studio中的属性将.exe复制到输出目录。

+0

嗯....那是缺少的部分...谢谢.... – Manish 2010-03-29 06:02:05

0

“系统找不到指定的文件”表示在给定路径中文件丢失或文件路径错误。仔细检查一下。

+0

该文件在我的项目中。也检查在Windows资源管理器。在那。 – Manish 2010-03-29 06:00:28

+0

尝试给出完整的路径 – 2010-03-29 06:01:19

2

听起来好像添加到Visual Studio项目中的.exe文件没有被复制到构建的输出目录(通常是bin \ Debug)。

在Solution Explorer中选择.exe,然后选中属性(F4)。将会有一个名为“Copy to Output Folder”的属性,您可以将其设置为“Only Only Newer”或“Always”。

这应该让你的进程启动方法以.exe的相对路径工作,因为它在构建之后总是在同一个文件夹中。

+0

是的,这是失踪......但穆利没有回答说...... :) – Manish 2010-03-29 06:05:17

0

运行时无法找到exe。确保exe已经存在于你的build/release文件夹中。您也可以编写后期脚本,将所需的exe从任何其他路径复制到调试/发布文件夹。这将解决你所得到的错误。

0

为了更好地使用此方法,您可以将myExec.exe打包为资源,并且在运行程序时解压缩它。使用这个你将能够知道你的exe文件的正确完整路径。只需检查myExec.exe是否存在,然后运行该进程。

相关问题