Console.Writeline、Console.WriteがVisual Studio Expressで機能しないのはなぜですか?


169

コンソールアプリケーションを開いて、

Console.WriteLine("Test");

しかし、出力ウィンドウにはこれは表示されません。Ctrl + W、Oで出力ウィンドウに移動します

しかし、プログラムを実行しても何も表示されません。問題がありますか、それともVisual Studio 2010 Expressではサポートされていませんか?


3
Leifあなたがそれを見ることができる前に、それが消えると述べました。使用Console.ReadKey()
Xaqron

コンソール出力をデバッグ出力ウィンドウにリダイレクトするメカニズムについては、stackoverflow.com / a / 1583569/503688も参照してください。
ヨーヨー

回答:


301

Console.WriteLineアプリケーションが開いたコンソールウィンドウに出力を書き込みます(コマンドプロンプトを開いたときに表示される白いテキストが黒いウィンドウと考えてください)System.Diagnostics.Debug.WriteLine。代わりに試してください。


26
デバッグ出力が出力ウィンドウに表示されます(デバッグ=>ウィンドウ=>出力)。鉱山はデフォルトでは開いていませんでした。
Appulus 2013

1
コンソールウィンドウに出力がない場合は、[デバッグ]タブの[開始オプション]でアプリケーションのプロパティも確認して、コンソールからの出力をリダイレクトするコマンドライン引数がないことを確認してください。
Chad Miller

また、technet.microsoft.com / en-us / sysinternals / debugview.aspx DebugView(dbgview)などのツールを使用して、デバッグメッセージを受信します。これらは、cmdコンソールに表示されないためです。
ロジャーディープ

19

Solution Explorerウィンドウで自分のプロジェクトのプロパティに移動し、アプリケーションタイプを選択してOutput Type 、その値を探して値をに変更しますConsole Application。これにより、フォームのほかにコンソール画面が作成されます。コンソール画面を閉じると、フォームも閉じられます。

幸運を。


私を楽しませてくれ!LINQクエリをループしてコンソールに書き込むことができるので、正しいデータを簡単に取得できます。
JustJohn 2015

15

おそらく、コンソールはクリアされています。試してください:

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

そして、うまくいけば、Enterキーを押すまでそこにとどまります。


15

満足できる回答はありません。

System.Diagnostics.Debug.WriteLine() はメッセージをOutput:debugウィンドウに書き込みますが、太陽の下ですべてのプロセスによってそのウィンドウに絶えず多くのがらくたがダンプされているので、干し草の山から針を見つけてメッセージを見つけるようなものです。

Console.WriteLine()Visual Studioのウィンドウには書き込みません。アプリケーションが最初にコンソールを作成する場合、つまりコンソールアプリケーションである場合にのみ、アプリケーションコンソールに書き込みます。

ツールが、Webアプリケーションサーバー側のコード.csコードにデバッグメッセージをウィンドウに書き込み、情報を見つけることがほとんど不可能になっているという単純なタスクを実行しているのはなぜですか?


6

または、CTRL+F5これをデバッグして、最後の行が実行されてからキーを押すまでConsoleWindowの待機を開くことができます。


8
まあ、それは実際には「デバッグ」ではなく、デバッガをアタッチせずにアプリケーションを起動するだけです。:/
ダミアン2014年

5

名前空間でコンソールを使用したことが原因と考えられます。たとえば、次のようになります。

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

名前空間からそれを削除してくださいまたはその代わりすなわち完全な名前空間を使用

   System.Console.Writeline("abc");

1
アプリに他のコンソールはありませんでしたが、追加するとSystem.役に立ちました。ありがとう。
kolenda

4

出力ウィンドウはコンソールではありません。の方法を試してくださいSystem.Diagnostics.Debug


4

Winformsアプリでは、両方の方法:

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

そして

System.Console.WriteLine("my string")

出力ウィンドウに書き込みます。

AspNetCoreアプリでSystem.Diagnostics.Debug.WriteLine("my string")は、出力ウィンドウにのみ書き込みます。



2

ソリューションエクスプローラーでプロジェクトを右クリックし、[クリーン]をクリックします。

今すぐ実行 F5

コードが以下のようになっていることを確認してください:

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

1

単体テストの実行中に同様の問題が発生しました。Console.WriteLine()VS出力ウィンドウには何も書き込まれませんでした。

使用しSystem.Diagnostics.Debug.WriteLine()て問題を解決しました。


1

Ctrl-F5(デバッグなしで開始)を使用すると、コンソールウィンドウは開いたままになり、「続行するには任意のキーを押してください」というメッセージが表示されます。これは、コンソール出力が表示されるようにコンソールウィンドウが閉じないようにする最も簡単な方法です。


1

[デバッグ]メニューに移動して[オプション]を選択し、[すべての出力ウィンドウのテキストをイミディエイトウィンドウにリダイレクトする]チェックボックスをオフにします


0

Console.Writeline() デバッグ出力に表示されます(Debug => Windows => Output)。


7
いいえ、System.Diagnostics.Debug.WriteLineはDebug => Windows => Outputに書き込みますが、Console.WriteLineは書き込みません
Vitalii Korsakov

1
質問をしている人はコンソールアプリケーションを使用しています。もちろん、Console.WriteLine()はコンソールに書き込みます。コンソールは黒い色のアプリケーションウィンドウで、DOSウィンドウのように見えます。Console.WriteLine()は、コンソールアプリケーションでない場合にのみ、デバッグ出力ウィンドウに書き込みます。
Peter Huber

「Console.WriteLine()は、コンソールアプリケーションでない場合、デバッグ出力ウィンドウにのみ書き込みます。」どうして?
sydd 2018

0

コマンドラインアプリケーションを開発している場合Console.ReadLine()は、コードの最後でを使用して、コンソールウィンドウを閉じる前に「Enter」キーが押されるのを待って、出力を読み取ることができます。



0

私が見つけた回避策:

を押すCtrl + Alt + Iか、「デバッグタブ」--->「Windows」--->「イミディエイト」に移動します。

あなたのコードで書いてください:

Trace.WriteLine("This is one of the workaround");

0

Visual Studio 2017の出力ウィンドウはメニューが呼び出されているショー出力から私の場合には、ASP.NETコアWebサーバーが 、私はそれをするために設定されていたので、プリントアウトを見るために選択するためのオプションだった、私はこの問題に出くわしたビルドしますので、実行時に印刷された行が表示されませんでした。


0

次の2つの問題が考えられます。

  • まず、次のように、using System「システムクラス」を使用するコードを記述する前に、「あるべき」を使用していませんConsole.WriteLine()
  • 第二に、コンソールに「テスト」が表示された後の動作をコーディングしていない

可能な解決策は次のとおりです。

using System;

namespace Test
{
    public static Main()
    {
        //Print to the console
        Console.WriteLine("Test");

        //Allow user to read output
        Console.ReadKey();
    }
}

Console.Write("Press any key to exit...");先行する行にコードを記述Console.ReadKey();して、プログラムが終了していることをユーザーに知らせることも重要です。ユーザーは任意のキーを押して終了する必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.