Mengapa Console.Writeline, Console.Write tidak berfungsi di Visual Studio Express?


169

Saya baru saja membuka aplikasi konsol dan saya mengetik

Console.WriteLine("Test");

Tetapi jendela output tidak menunjukkan ini. Saya pergi ke jendela output dengan Ctrl + W, O

Tapi tidak ada yang muncul ketika saya menjalankan program saya, apakah saya gila atau ini tidak didukung dalam visual studio 2010 express?


3
Seperti yang Leifdikatakan itu menghilang sebelum Anda bisa melihatnya. GunakanConsole.ReadKey()
Xaqron

Lihat juga stackoverflow.com/a/1583569/503688 untuk mekanisme untuk mengarahkan output konsol ke jendela output debug.
yoyo

Jawaban:


301

Console.WriteLinetulis output Anda ke jendela konsol yang dibuka oleh aplikasi Anda (pikirkan jendela hitam dengan teks putih yang muncul ketika Anda membuka Command Prompt.) Coba System.Diagnostics.Debug.WriteLinesaja.


26
Output debug muncul di jendela Output (Debug => Windows => Output). Milik saya tidak terbuka secara default.
Appulus

1
Jika tidak ada output di jendela konsol, periksa juga properti aplikasi di bawah Opsi Mulai tab Debug untuk memastikan Anda tidak memiliki argumen baris perintah yang mengarahkan output dari konsol.
Chad Miller

Dan menggunakan alat seperti technet.microsoft.com/en-us/sysinternals/debugview.aspx DebugView (dbgview) untuk menerima pesan debug karena mereka tidak akan muncul di konsol cmd.
Roger Deep

19

Pergi ke properti di proyek Anda sendiri di Solution Explorerjendela dan pilih jenis aplikasi dan cari Output Type dan ubah nilainya Console Application. Ini akan membuat layar konsol di samping formulir Anda. Jika Anda menutup layar konsol, formulir Anda juga akan ditutup.

Semoga berhasil.


Membuat hariku! Saya dapat mengulangi permintaan LINQ saya dan menulis ke konsol sekarang yang merupakan cara murah cepat untuk mendapatkan data yang benar ke medan.
JustJohn

15

Mungkin konsolnya kosong. Mencoba:

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

Dan semoga akan tetap di sana sampai Anda menekan enter.


15

Tidak ada jawaban yang memuaskan.

System.Diagnostics.Debug.WriteLine() akan menulis pesan ke jendela Output: debug, tetapi begitu banyak omong kosong yang terus-menerus dibuang ke jendela itu oleh setiap proses di bawah matahari, itu seperti menemukan jarum di tumpukan jerami untuk menemukan pesan ANDA.

Console.WriteLine()tidak menulis ke jendela apa pun di Visual Studio. Saya kira itu hanya akan menulis ke konsol aplikasi jika aplikasi Anda membuat konsol di tempat pertama, yaitu jika itu adalah aplikasi konsol.

Mengapa alat membuat tugas sederhana memiliki kode sisi server aplikasi web Anda. Kode ccs menulis beberapa pesan debug ke jendela yang dibanjiri dengan omong kosong sehingga hampir mustahil untuk menemukan informasi Anda?


6

Atau Anda dapat men-debug dengan CTRL+F5ini akan membuka ConsoleWindow menunggu setelah baris terakhir dieksekusi sampai Anda menekan tombol.


8
Ya, itu tidak benar-benar 'debugging', itu hanya meluncurkan aplikasi tanpa melampirkan debugger. : /
damian

5

Kemungkinan besar karena Anda telah menggunakan Konsol di namespace. Misalnya seperti ini:

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

Coba hapus dari namespace atau gunakan namespace lengkap sebagai contoh

   System.Console.Writeline("abc");

1
Saya tidak memiliki Konsol lain di aplikasi saya, tetapi menambahkan System.membantu. Terima kasih.
kolenda

4

Jendela output bukan konsol. Coba metode diSystem.Diagnostics.Debug


4

Di aplikasi Winforms, kedua metode:

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

dan

System.Console.WriteLine("my string")

tulis ke jendela output.

Di aplikasi AspNetCore, hanya System.Diagnostics.Debug.WriteLine("my string")menulis ke jendela output.



2

Klik kanan pada proyek dalam solusi-explorer dan klik "bersih".

Sekarang jalankan F5

Pastikan kodenya seperti di bawah ini:

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

1

Saya mengalami masalah yang sama saat menjalankan Tes Unit. Console.WriteLine()tidak menulis apa pun ke dalam Jendela Output VS.

Penggunaan System.Diagnostics.Debug.WriteLine()memecahkan masalah.


1

Jika Anda menggunakan Ctrl-F5 (mulai tanpa debugging) itu akan membiarkan jendela konsol terbuka dengan pesan "Tekan tombol apa saja untuk melanjutkan". Itu cara termudah untuk menjaga agar jendela konsol tidak tertutup sehingga Anda dapat melihat output konsol.


1

Pergi ke menu Debug dan pilih Pilihan dan hapus centang "Redirect semua teks Output Window ke Jendela Segera"


0

Console.Writeline() muncul di output debug (Debug => Windows => Output).


7
Tidak, System.Diagnostics.Debug.WriteLine menulis ke Debug => Windows => Output, tetapi bukan Console.WriteLine
Vitalii Korsakov

1
Orang yang mengajukan pertanyaan menggunakan aplikasi Konsol, di mana Console.WriteLine () tentu saja menulis ke Konsol, yang merupakan jendela aplikasi berwarna hitam, tampak seperti jendela DOS. Console.WriteLine () hanya menulis ke Debug Output Window, ketika itu bukan aplikasi Konsol.
Peter Huber

"Console.WriteLine () hanya menulis ke Debug Output Window, ketika itu bukan aplikasi Konsol." Mengapa?
sydd

0

Jika Anda mengembangkan aplikasi baris perintah, Anda juga dapat menggunakan Console.ReadLine()di akhir kode Anda untuk menunggu penekanan tombol 'Enter' sebelum menutup jendela konsol sehingga Anda dapat membaca output Anda.



0

Solusi yang saya temukan:

Tekan Ctrl + Alt + Iatau navigasikan ke "Tab Debug" ---> "Windows" ---> "Immediate".

Dalam kode Anda, tulis:

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

0

Jendela Keluaran dari Visual Studio 2017 memiliki menu yang disebut Tampilkan keluaran dari , dalam kasus saya ASP.NET Core Web Server adalah pilihan untuk memilih untuk melihat hasil cetakannya, saya menemukan masalah ini karena saya mengaturnya untuk Build jadi Saya tidak melihat garis yang dicetak saat runtime.


0

Ada 2 kemungkinan masalah yaitu:

  • Pertama, Anda belum menggunakan using Systemyang seharusnya sebelum menulis kode yang menggunakan "Kelas sistem", sebagaiConsole.WriteLine()
  • Kedua, Anda belum memberi kode apa yang terjadi setelah Konsol menampilkan "Tes"

Solusi yang mungkin adalah:

using System;

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

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

Juga strategis untuk kode Console.Write("Press any key to exit...");pada jalur yang mendahului Console.ReadKey();untuk membuat pengguna sadar bahwa program ini berakhir, ia harus menekan tombol apa saja untuk keluar.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.