2013-08-01 1 views
6

입력 파일에서 읽고 결과를 계산하여 출력 파일에 쓰는 pro1.exe 프로그램이 있습니다. 지금은 다른 테스트에 테스트 프로그램 test.exe을 쓰고 있어요 (Process.Start()를 사용하여 입력, 실행 pro1을 작성하고 가정으로 출력을 비교)Process.Start()가 제대로 작동하지 않습니다.

문제는 다음입니다 : pro1.exe 출력 파일을 실행 한 후 비어 있습니다. 그러나 수동으로 실행하면 출력 파일에 기록됩니다.

ProcessStartInfo processInfo = new ProcessStartInfo(); 
    processInfo.FileName = _applicationName; 
    processInfo.ErrorDialog = true; 
    processInfo.UseShellExecute = false; 
    processInfo.RedirectStandardOutput = true; 
    processInfo.RedirectStandardError = true; 

    Process proc = Process.Start(processInfo); 

_applicationName 파일을 EXE 파일 전체 경로입니다 : 여기

내가 pro1을 실행하는 방법 코드입니다.

디버그에서 알 수 있습니다. 프로세스가 시작되고 오류없이 끝납니다.

답변

9

종종 이것은 WorkingDirectory이 다른 것으로 인해 발생합니다. 실행 파일의 경로와 일치하도록 WorkingDirectory 속성을 설정해야 할 수 있습니다.

UseShellExecute == false이 없으면 작업 디렉터리가 응용 프로그램의 로컬 경로가 아닐 수 있습니다.

+1

와우 ... 'WorkingDirectory'가 도움이되었습니다. – Vita1ij