2013-08-01 62 views
6

Tôi có chương trình pro1.exe đọc từ tệp đầu vào, tính toán kết quả và ghi nó vào tệp đầu ra. Bây giờ tôi đang viết chương trình test.exe, mà kiểm tra nó trên các xét nghiệm khác nhau (điền vào, chạy pro1 sử dụng Process.Start() và so sánh sản lượng với giả)Process.Start() không hoạt động đúng

Vấn đề là như sau: sau khi thực hiện pro1.exe tập tin đầu ra là sản phẩm nào. Tuy nhiên, nếu tôi chạy nó bằng tay, nó ghi vào tập tin đầu ra.

Đây là mã làm thế nào tôi thực hiện pro1:

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 là một đường dẫn đầy đủ để exe file.

trong gỡ lỗi Tôi thấy, quá trình đó bắt đầu và kết thúc không có lỗi.

Trả lời

9

Điều này thường do một số khác nhau WorkingDirectory. Bạn có thể cần đặt thuộc tính WorkingDirectory để khớp với đường dẫn của tệp thi hành.

Nếu không có điều này, khi UseShellExecute == false, thư mục hoạt động có thể không phải là đường dẫn cục bộ của ứng dụng.

+1

Wow ... Rất cám ơn, thiết lập 'WorkingDirectory' đã giúp – Vita1ij

Các vấn đề liên quan