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?


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.


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.


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.


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?


6

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


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");

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


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.


3

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


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();

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.


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.


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"


0

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


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.



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");

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.


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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.