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?

foreyez
sumber
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.

Adam Maras
sumber
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.

ibrahim
sumber
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.

Leif Andersen
sumber
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?

Paul Gorbas
sumber
6

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

Javed Akram
sumber
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");
nyonya
sumber
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

lesscode
sumber
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.

pengguna6849960
sumber
3

Coba ctrl + F5, itu akan menahan Layar Anda sampai Anda menekan tombol apa saja. Salam

Sumen Kr Mallick
sumber
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();
akash
sumber
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.

Peter Huber
sumber
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.

Jeffrey Counts
sumber
1

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

pengguna241636
sumber
0

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

Svl2Nuk3
sumber
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.

Abdullah Ibn Mannan
sumber
0
using System.Diagnostics;


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

Ini berfungsi pada Microsoft Team Explorer untuk Visual Studio 2013

Rujuk ke microsoft.com

Sinan ÇALIŞKAN
sumber
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");
GurdeepBhatia
sumber
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.

kuky54
sumber
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.

Lethu Nsibande
sumber