从 C# 启动调试模式应用程序

Launching debug mode application from c#

我目前正在开发一个 C++ 项目,我制作了一个 C# wpf 启动器来配合它。

这些都行得通:

然而,从 C# 代码启动调试文件夹中的 file.exe 会导致 C++ 程序在启动时崩溃。 我什至尝试在 c# 中运行相同的命令行,通过键入它来工作,但它导致崩溃。

将调试器附加到 C++ 进程后,崩溃的原因似乎是缺少资产(一些着色器代码)。然而,assets 文件夹位于调试目录中,正如我所说,程序通过单击它来运行。

我在 C# 中尝试过:

这可能是什么原因造成的?

如 Vikas 所述,需要设置工作目录,否则 windows 似乎不允许进程访问文件。

这是对我有用的代码:

ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.CreateNoWindow = false;
startInfo.UseShellExecute = false;
startInfo.WorkingDirectory = System.IO.Path.GetDirectoryName(this.PathToExeTextBox.Text);
startInfo.FileName = this.PathToExeTextBox.Text;
Process.Start(startInfo);