Por que o Console.Writeline, Console.Write não funciona no Visual Studio Express?

169

Acabei de abrir um aplicativo de console e digito

Console.WriteLine("Test");

Mas a janela de saída não mostra isso. Eu vou para a janela de saída com Ctrl + W, O

Mas nada aparece quando executo meu programa, estou louco ou isso não é suportado no visual studio 2010 express?

foreyez
fonte
3
Como Leifdisse, desaparece antes que você possa vê-lo. UseConsole.ReadKey()
Xaqron
Consulte também stackoverflow.com/a/1583569/503688 para obter um mecanismo para redirecionar a saída do console para a janela de saída de depuração.
yoyo

Respostas:

301

Console.WriteLinegrava sua saída na janela do console aberta pelo seu aplicativo (pense em uma janela preta com texto em branco que aparece quando você abre o prompt de comando.) Tente fazer isso System.Diagnostics.Debug.WriteLine.

Adam Maras
fonte
26
A saída de depuração aparece na janela Saída (Debug => Windows => Output). O meu não estava aberto por padrão.
Appulus
1
Se não houver saída na janela do console, verifique também as propriedades do aplicativo na guia Opções de inicialização da guia Debug para garantir que você não tenha nenhum argumento de linha de comando redirecionando a saída do console.
Chad Miller
E use uma ferramenta como technet.microsoft.com/en-us/sysinternals/debugview.aspx DebugView (dbgview) para receber as mensagens de depuração porque elas não aparecerão no console do cmd.
Roger Profundo
19

Vá para propriedades em seu próprio projeto na Solution Explorerjanela e escolha o tipo de aplicativo, procure Output Type e altere seu valor Console Application. Isso fará a tela do console além do seu formulário. Se você fechar a tela do console, seu formulário também será fechado.

Boa sorte.

ibrahim
fonte
Faz o meu dia! Posso fazer um loop na minha consulta LINQ e gravar no console agora, que é uma maneira rápida e barata de colocar os dados corretos na briga.
JustJohn
15

Talvez o console esteja limpando. Experimentar:

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

E esperamos que fique lá até você pressionar enter.

Leif Andersen
fonte
15

Nenhuma resposta satisfatória fornecida.

System.Diagnostics.Debug.WriteLine() gravará mensagens na janela Saída: depuração, mas tanta porcaria é constantemente despejada nessa janela a cada processo sob o sol, é como encontrar uma agulha no palheiro para encontrar SUAS mensagens.

Console.WriteLine()não grava em nenhuma janela no Visual Studio. Eu acho que ele só gravará no console do aplicativo se o seu aplicativo criar um console em primeiro lugar, ou seja, se for um aplicativo do console.

Por que o ferramental está tornando a tarefa simples de fazer com que o código .cs do código do lado do servidor de aplicativos da web grave algumas mensagens de depuração em uma janela cheia de porcaria, tornando quase impossível encontrar suas informações?

Paul Gorbas
fonte
6

Ou você pode depurar com CTRL+F5isso, o ConsoleWindow abrirá após a última linha ser executada até você pressionar a tecla.

Javed Akram
fonte
8
Bem, isso não é realmente 'depuração', é apenas o lançamento do aplicativo sem anexar o depurador. : /
damian
5

É mais do que provável, porque você usou o Console no espaço para nome. Por exemplo, assim:

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

Tente removê-lo do espaço para nome ou use o espaço para nome completo.

   System.Console.Writeline("abc");
nadsy
fonte
1
Eu não tinha nenhum outro console no meu aplicativo, mas a adição System.ajudou. Obrigado.
Kolenda #
4

A janela de saída não é o console. Experimente os métodos emSystem.Diagnostics.Debug

lesscode
fonte
4

No aplicativo Winforms, os dois métodos:

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

e

System.Console.WriteLine("my string")

escreva na janela de saída.

No aplicativo AspNetCore, apenas System.Diagnostics.Debug.WriteLine("my string")grava na janela de saída.

user6849960
fonte
3

Tente ctrl + F5, ele manterá sua tela até você pressionar qualquer tecla. Saudações

Sumen Kr Mallick
fonte
2

Clique com o botão direito do mouse no projeto no Solution-Explorer e clique em "Limpar".

Agora corra F5

Verifique se o código é o seguinte:

Console.WriteLine("TEST");
Console.ReadLine();
akash
fonte
1

Estou com um problema semelhante ao executar um teste de unidade. Console.WriteLine()não gravou nada na janela de saída do VS.

Usando System.Diagnostics.Debug.WriteLine()resolveu o problema.

Peter Huber
fonte
1

Se você usar Ctrl-F5 (iniciar sem depuração), a janela do console será aberta com a mensagem "Pressione qualquer tecla para continuar". Essa é a maneira mais fácil de impedir que a janela do console se feche para que você possa ver a saída do console.

Jeffrey Counts
fonte
1

Vá para o menu Debug, selecione Options e desmarque a opção "Redirecionar todo o texto da janela de saída para janela imediata"

user241636
fonte
0

Console.Writeline() aparece na saída de depuração (Debug => Windows => Output).

Svl2Nuk3
fonte
7
Não, System.Diagnostics.Debug.WriteLine escreve para Debug => Windows => saída, mas não Console.WriteLine
Vitalii Korsakov
1
A pessoa que faz a pergunta está usando um aplicativo de console, onde Console.WriteLine () naturalmente grava no console, que é a janela do aplicativo de cor preta, parecendo uma janela do DOS. Console.WriteLine () grava apenas na janela Debug Output, quando não é um aplicativo de console.
Peter Huber
"Console.WriteLine () grava apenas na janela Debug Output, quando não é um aplicativo de console." Por quê?
sydd
0

Se você estiver desenvolvendo um aplicativo de linha de comando, também poderá usar Console.ReadLine()no final do seu código para aguardar o pressionamento de tecla 'Enter' antes de fechar a janela do console para poder ler sua saída.

Abdullah Ibn Mannan
fonte
0
using System.Diagnostics;


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

Isso funciona no Microsoft Team Explorer para Visual Studio 2013

Consulte microsoft.com

Sinan ÇALIŞKAN
fonte
0

Solução alternativa encontrada:

Pressione Ctrl + Alt + Iou navegue para "Guia Debug" ---> "Windows" ---> "Imediato".

No seu código, escreva:

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

A janela de saída do Visual Studio 2017 um menu chamado Mostrar saída , no meu caso ASP.NET Núcleo Web Server foi a opção de selecionar a fim de ver o impresso, me deparei com essa questão desde que eu tinha definido para construir de modo Eu não estava vendo as linhas impressas em tempo de execução.

kuky54
fonte
0

Existem 2 problemas possíveis são:

  • Em primeiro lugar, você não usou o using Systemque deveria estar antes de escrever o código que usa "System class", comoConsole.WriteLine()
  • Em segundo lugar, você não codificou o que acontece depois que o console exibe "Teste"

A solução possível será:

using System;

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

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

Também é estratégico codificar Console.Write("Press any key to exit...");na linha que antecede o Console.ReadKey();para conscientizar o usuário de que o programa está terminando, ele / ela deve pressionar qualquer tecla para sair.

Lethu Nsibande
fonte