Tôi đang cố gắng để chạy dot net ứng dụng giao diện điều khiển thông qua Java:"Việc xử lý không hợp lệ" khi chạy .net console qua java
process = Runtime.getRuntime().exec(commandLine);
tôi nhận được kết quả như sau:
Detecting
The handle is invalid.
khi chạy nó trực tiếp thông qua giao diện điều khiển (windows) không có vấn đề:
Detecting
100%
Done.
100%
Tôi đang chạy nhiều ứng dụng hơn trong biểu mẫu này nhưng không có vấn đề gì .
Got chồng này dấu vết:
Detecting at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.Console.GetBufferInfo(Boolean throwOnNoConsole, Boolean& succeeded)
at System.Console.get_CursorTop()
at AutomaticImageOrientation.HelperClasses.General.WriteProgressToConsole(Int32 lastIndex, Int32 totalImages)
at AutomaticImageOrientation.MainManager.DetectImage(String[] files, String outputPath, String& globalErrorMessage, Dictionary`2& foundRotations)
Vấn đề là khi ứng dụng .net cố gắng viết ra cửa sổ Console giải pháp là gì?
tìm thấy dòng gây ra vấn đề:
Console.CursorLeft = 0;
Bạn có biết tại sao?
Tôi tìm thấy dòng: Console.CursorLeft = 0; bạn có lý do tại sao nó gây ra vấn đề? (chỉ khi chạy nó qua Java) –
@Shaul - có thể nó liên quan đến chuyển hướng luồng? tức là nó không thể tìm thấy bộ đệm IO gốc? Freaky ... không chắc chắn sẽ giúp bạn nhiều ... –