从当前文件夹启动.exe有时会失败

War*_*pin 4 c# process

我有一个应用程序启动一个可执行文件,该文件夹与该应用程序位于同一文件夹中,方法如下:

            Process procStarter = new Process();
            procStarter.StartInfo.FileName = "OtherApp.exe";
            procStart.Start();
Run Code Online (Sandbox Code Playgroud)

哪个工作正常,直到我在我的应用程序中使用文件打开或文件保存对话框.然后它找不到OtherApp.exe.

这看起来很正常吗?我可以通过将当前文件夹添加到StartInfo.Filename来解决它(以及如何获取当前文件夹)?

Dir*_*mar 10

使用文件对话框可能会更改进程的当前目录.要访问与当前可执行文件位于同一文件夹中的文件,可以使用以下代码:

string path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
path = Path.Combine(path, "OtherApp.exe");
Run Code Online (Sandbox Code Playgroud)