Запуск приложения в режиме отладки из c #

В настоящее время я работаю над проектом на C ++, и я сделал для этого C # wpf launcher.

Это будет работать:

  • Визуальный студийный отладчик
  • Запуск .exe в папке отладки
  • Запуск .exe в папке отладки с помощью командной строки окна

Однако запуск файла file.exe в папке отладки из кода c # приводит к сбою программы c ++ при запуске.
Я даже попытался запустить ту же командную строку в C #, которая работала, набрав ее, и это привело к сбою.

После присоединения отладчика к процессу c ++ причиной сбоя, по-видимому, является отсутствие ресурсов (некоторый код шейдера). Однако папка assets находится в каталоге отладки, и, как я уже сказал, программа запускается нажатием на нее.

Я пытался в C #:

  • Выполнение команды в командной строке, чтобы просто запустить EXE
  • с помощью ProcessStartInfo

Что может вызвать это?

0

Решение

Как упоминалось Викасом, рабочий каталог должен быть установлен, иначе кажется, что окна не позволят процессу получить доступ к файлам.

Вот код, который работал для меня:

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);
1

Другие решения


По вопросам рекламы [email protected]