2016-11-03 4 views
0

Я пытаюсь выполнить консольное приложение из другого консольного приложения, а im получить файл ошибки не найден, хотя путь правильный, я продолжаю получать ошибки, путь:запустить консольное приложение из другого консольного приложения C# файл ошибки не найден

C: \ Users \ Малка \ Desktop \ RecomendedArtists \ GetID \ GetID \ Bin \ Debug \ GetID.exe

код:

System.Diagnostics.Process.Start(AppDir()[email protected]"GetID\GetID\bin\Debug\GetID.exe"); 

public static string AppDir() 
{ 
    string x = Directory.GetCurrentDirectory(); 
    string b = x.Substring(0, x.Length - 31); 
    return b; 
} 

enter image description here

enter image description here

если кто-то знает, почему я получаю ошибку это поможет много THX.

+0

Возможно, это поможет вам отлаживать, выведя путь к консоли сначала ('Console.WriteLine (path);'). – einord

+1

Во-первых: вы должны использовать 'System.IO.Path.Combine()' для конкатенации допустимого пути. Второе: какая строка выдает ошибку? что ты уже испробовал? –

+1

Вы должны использовать 'Path.Combine' для создания пути:' System.Diagnostics.Process.Start (Path.Combine (AppDir(), @ "GetID \ GetID \ bin \ Debug \ GetID.exe")); ' – Equalsk

ответ

0

Это не кажется, дает ошибку - просто, что вы не видите новый запуск приложения.

GetCurrentDirectory, возможно, не так, как вы думаете, (особенно если это выполняется в Debug в Visual Studio).

Как и после предложения einord для вывода пути для целей отладки, проверьте возвращаемый объект процесса Start(). Нуль означает, что он не создал процесс - все остальное означает, что это так, но вы не можете его увидеть по какой-то причине.

Я также проверил в диспетчере задач, что экземпляр GetID не работает где-то (так как в этом случае Start() завершит сбой и вернет null).

Смежные вопросы