我在一個小捏:)Console.Writeline C# - 登錄
時,我發現了一個很奇怪的行爲,我想不出有什麼可能是它的原因失去STDOUT。
它在C#Visual Studio來控制檯記錄相關2008
例如,命令行的正常行爲是:
1)如果我使用的 「DIR」 指令i見目錄的內容
2)如果我使用「dir> 1.txt」,我得到 1.txt文件中的目錄內容。
所以這是正常的行爲,它的工作原理。現在回到我的問題。
在我使用的c#應用程序中,我有一個測試列表,我想列出他們,當我從命令行使用我的應用程序。所以我有:
Console.WriteLine("Start running " + sn);
結果當我運行的應用程序通常是:(命令我送)
Application.exe -run 1.test,2.test,3.test
輸出:
Start running 1.test
Start running 2.test
Start running 3.test
,但如果我用這個命令:
Application.exe -run 1.test,2.test,3.test > 1.txt
三個開始運行命令從標準輸出消失,但1.txt是空白。
我不知道響應的位置,我沒有辦法記錄響應,但我可以直觀地看到它。但是當我將STDOUT重定向到日誌時,它既不在視覺上也不在日誌中。
任何人有什麼想法?
您可能必須使用cmd.exe:'cmd.exe「Application.exe -run args」> 1.txt'進行換行。 –