Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么我的C#程序找不到*.exe文件_C# - Fatal编程技术网

为什么我的C#程序找不到*.exe文件

为什么我的C#程序找不到*.exe文件,c#,C#,我已将一个旧的C#project.exe文件添加到一个新项目的资源中。我想用一个简单的按钮点击来运行我的另一个应用程序,这是我的新代码 private void button1_Click(object sender, EventArgs e) { ProcessStartInfo startInfo = new ProcessStartInfo(); startInfo.FileName = "olderApp.exe"; //Also I have used this line

我已将一个旧的C#project.exe文件添加到一个新项目的资源中。我想用一个简单的按钮点击来运行我的另一个应用程序,这是我的新代码

private void button1_Click(object sender, EventArgs e)
{
  ProcessStartInfo startInfo = new ProcessStartInfo();
  startInfo.FileName = "olderApp.exe";
  //Also I have used this line too
  //startInfo.FileName = @"Properties.Resources.olderApp.exe";
  Process.Start(startInfo);
}

当我运行应用程序时,它会抛出一个异常,说系统找不到指定的文件,我做错了什么?

您拥有此代码的java文件与“olderPath.exe”文件的路径相同

例如:如果您的javaFile位于项目路径“/home/your\u name/Desktop/your\u Project\u name”中,而您较旧的exe位于项目路径中的文件夹“Resources”中,则exe路径为“/home/your\u name/Desktop/your\u Project\u name/Resources/your\u exe”

如果这是你的情况,那么,你必须改变路线

startInfo.FileName = "olderApp.exe";


您已将
olderApp.exe
放置在代码运行的同一位置?我不确定您是否了解资源是什么。资源的全部意义在于,它们被编译到程序集中,而不是作为单独的文件。如果没有单独的文件,您希望如何
Process.Start
查找文件使用该名称?您应该阅读一些资源。感谢chetan,问题已解决,我已将其放置在我的app.exe文件附近检查exe路径是否与bin debug文件夹相同,或提供完整路径操作系统无法读取.net资源。它需要磁盘上的文件。您用户的反恶意软件产品对此表示赞赏也
startInfo.FileName = "Resources/olderApp.exe";