2010-12-19 62 views
110

我只是打開一個控制檯應用程序和I型爲什麼Console.Writeline,Console.Write不能在Visual Studio Express中工作?

Console.WriteLine("Test"); 

但輸出窗口不顯示這一點。我使用Ctrl + W進入輸出窗口,但我在運行程序時沒有顯示出來,我是堅果還是在visual studio 2010 express中不支持這個功能?

+3

。使用'Console.ReadKey()' – Xaqron 2010-12-19 00:25:48

+0

另請參閱http://stackoverflow.com/a/1583569/503688瞭解將控制檯輸出重定向到調試輸出窗口的機制。 – yoyo 2016-12-21 22:13:21

回答

205

Console.WriteLine將輸出寫入由應用程序打開的控制檯窗口(想想打開命令提示符時顯示的白色文本爲黑色窗口)。請嘗試使用System.Diagnostics.Debug.WriteLine代替。

+18

調試輸出出現在輸出窗口中(Debug => Windows => Output)。我的默認情況下沒有打開。 – Appulus 2013-08-21 10:21:01

+7

只有工作,如果你在調試模式 – toddmo 2015-10-19 14:59:30

+1

如果在控制檯窗口無輸出,同時檢查調試選項卡啓動選項下的應用程序的性能,以確保你沒有任何命令行參數重定向從控制檯輸出。 – 2016-04-13 16:03:33

11

也許控制檯正在清理。嘗試:

Console.WriteLine("Test"); 
Console.ReadLine(); 

它會希望呆在那裏,直到你按回車。

2

輸出窗口不是控制檯。嘗試方法System.Diagnostics.Debug

5

或者您也可以通過CTRL+F5調試,這將打開運行,直到你按下鍵最後一行之後ConsoleWindow等待。

+7

那麼,這不是真正的「調試」,只是啓動應用程序而不附加調試器。 :/ – damian 2014-11-07 14:59:26

0

Console.Writeline()顯示在調試輸出(Debug => Windows => Output)中。

+7

沒有,System.Diagnostics.Debug.WriteLine寫入調試=> WINDOWS =>輸出,而不是Console.WriteLine – 2013-01-05 01:40:43

+1

的人問的問題是使用一個控制檯應用程序,其中當然Console.WriteLine()寫入控制檯,這是黑色的應用程序窗口,看起來像一個DOS窗口。 Console.WriteLine()僅在不是控制檯應用程序時才寫入調試輸出窗口。 – 2016-01-22 13:57:36

+0

「Console.WriteLine()只在不是控制檯應用程序時才寫入調試輸出窗口。」爲什麼? – sydd 2018-02-07 08:51:43

12

轉到屬性在你自己的Solution Explorer窗口項目,並選擇應用程序類型,查找Output Type 和改變它的價值Console Application。 這將使您的窗體以外的控制檯屏幕。如果您關閉了控制檯屏幕,您的表單也會被關閉。

祝你好運。

+0

讓我的一天!我可以通過我的LINQ查詢循環並寫入控制檯,這是以快速廉價的方式將正確的數據引入戰場。 – JustJohn 2015-08-30 06:07:42

1

右鍵單擊解決方案資源管理器中的項目,然後單擊「清理」。

現在運行F5

確保代碼如下:

Console.WriteLine("TEST"); 
Console.ReadLine(); 
3

它更可能是因爲您在命名空間中使用控制檯。例如像這樣:

namespace XYZApplication.Console 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      //Some code;    
     } 
    } 
} 

嘗試從命名空間中移除使用完整的命名空間,而不是即

System.Console.Writeline("abc"); 
+1

我沒有在我的應用程序中有任何其他控制檯,但添加'System.'幫助。謝謝。 – kolenda 2017-08-30 11:12:53

1

我遇到類似的問題,同時運行單元測試。 Console.WriteLine()沒有寫入VS輸出窗口。

使用System.Diagnostics.Debug.WriteLine()解決了這個問題。

0

嘗試按Ctrl + F5,它將保持你的屏幕,直到你按任意鍵。 Regards

6

沒有提供令人滿意的答案。系統缺省.Debug.WriteLine()會將消息寫入輸出:調試窗口,但是太陽下的每個進程都會不斷地將垃圾寫入該窗口,這就像在乾草堆中找到針一樣找到你的信息。

Console.WriteLine不會寫入Visual Studio中的任何窗口,我猜它只會寫入應用程序控制臺如果您的應用程序首先創建控制檯,即A Console應用程序。

爲什麼工具會讓Web應用程序服務器端代碼.cs代碼將一些調試消息寫入一個沒有淹沒垃圾的窗口中,使得幾乎不可能找到您的信息?

+3

工具是由微軟設計的,你期望什麼? – Shahbaz 2016-10-19 00:05:02

2

在Winforms應用程序,這兩種方法:

System.Diagnostics.Debug.WriteLine("my string") 

System.Console.WriteLine("my string") 

寫入到輸出窗口。

在AspNetCore應用程序中,只有System.Diagnostics.Debug.WriteLine("my string")寫入輸出窗口。

1

如果您使用Ctrl-F5(在未調試的情況下啓動),它將使控制檯窗口打開並顯示消息「按任意鍵繼續」。這是保持控制檯窗口關閉的最簡單方法,因此您可以看到控制檯輸出。

0

如果您正在開發命令行應用程序,您還可以在代碼末尾使用Console.ReadLine()等待「Enter」按鍵,然後關閉控制檯窗口,以便讀取輸出。

0
using System.Diagnostics; 


Trace.WriteLine("This line will show on Output window"); 
Trace.Flush(); 

這是`Leif`說消失之前,你可以看到它適用於微軟團隊資源管理器的Visual Studio 2013

Refer to microsoft.com

相關問題