2015-01-02 94 views
0

我目前正在研究一个C++项目,并且我制作了一个C#wpf启动程序以配合它。从c启动调试模式应用程序#

这将工作:

  • Visual Studio调试器
  • 使用窗口的命令行中debug文件夹
  • 运行在debug文件夹中的.exe运行.exe文件

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

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

我曾尝试在C#:

  • 在命令行中运行命令简单地使用ProcessStartInfo

这是什么原因开始的exe

  • +0

    你需要显示的代码。我的猜测是你没有将UseShellExecute设置为false。 –

    +1

    并给出有关缺少资产的错误消息..我想工作目录可能没有得到正确设置。 –

    回答

    1

    正如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); 
    
    相关问题