2014-09-23 38 views
1

我正在引用一個包含我需要的API的C++類的DLL文件。據我所知,該類的默認構造函數將文本牆轉換爲我無法觸及的流。我一次一個地重定向輸出流以嘗試隔離它,並且達到了6而沒有成功影響文本。它記錄數據,在這種情況下我不關心它;我希望它消失。爲什麼日誌輸出顯示在控制檯主機中,但不在ISE中? (v4.0)

構造函數沒有返回文本(該對象正常返回成功),它只是在構造函數執行期間發送到控制檯。我認爲這就是爲什麼Out-Null和> $ null什麼都不做的原因。

文本是不是當我在ISE中運行相同的過程時,在控制檯中顯而易見!這是一個很有說服力的線索,我去尋找環境差異 - 但是有很多環境差異。我應該調查哪些人?

回答

1

我認爲重要的區別是PowerShell.exe是一個控制檯子系統應用程序。任何形式的輸出到標準輸出(printf,cout <'foo'等)都將顯示在控制檯中。另一方面,ISE是Windows子系統應用程序 - 無需控制檯。您在ISE中作爲控制檯窗格所看到的僅僅是另一個工具窗口,其外觀和行爲就像控制檯,就像Visual Studio中的NuGet Package Manager控制檯一樣。

相關問題