Estou usando Console.WriteLine () de um aplicativo de teste WPF muito simples, mas quando executo o aplicativo na linha de comando, não vejo nada sendo gravado no console. Alguém sabe o que pode estar acontecendo aqui?
Posso reproduzi-lo criando um aplicativo WPF no VS 2008 e simplesmente adicionando Console.WriteLine ("texto") em qualquer lugar que seja executado. Alguma ideia?
Tudo de que preciso agora é algo tão simples como Console.WriteLine (). Sei que poderia usar o log4net ou alguma outra solução de registro, mas realmente não preciso de tanta funcionalidade para este aplicativo.
Edit: eu deveria ter lembrado que Console.WriteLine () é para aplicativos de console. Bem, sem perguntas estúpidas, certo? :-) Vou usar apenas System.Diagnostics.Trace.WriteLine () e DebugView por enquanto.
Respostas:
Você terá que criar uma janela do console manualmente antes de realmente chamar qualquer método Console.Write. Isso inicializará o console para funcionar corretamente sem alterar o tipo de projeto (o que para o aplicativo WPF não funcionará).
Aqui está um exemplo de código-fonte completo, de como uma classe ConsoleManager pode se parecer e como ela pode ser usada para habilitar / desabilitar o Console, independentemente do tipo de projeto.
Com a aula a seguir, você só precisa escrever em
ConsoleManager.Show()
algum lugar antes de qualquer chamada paraConsole.Write
...fonte
SetConsoleCtrlHandler
função que permite ser avisado quando oCTRL_CLOSE_EVENT
evento acontecer mas você não pode fazer nada com ela, não tem nada que permita que seu aplicativo continue. Você será desligado. Se você quiser hackear, provavelmente poderá trocar o manipulador de mensagens do Windows pelo processo do console e simplesmente descartar a mensagem WM_CLOSE. Nunca tentei fazer isso, mas pode funcionar. É apenas mais uma janela, mas com isso dito, a menos que você queira entreter essa ideia, seu esforço provavelmente será melhor gasto em outra coisa.Clique com o botão direito do mouse no projeto, "Propriedades", guia "Aplicativo", altere "Tipo de saída" para "Aplicativo de console", e então também terá um console.
fonte
Você pode usar
Isso resultará na janela "Saída" no Visual Studio (durante a depuração).
certifique-se de ter o conjunto de diagnóstico incluído:
fonte
Console.WriteLine
não se destina a aplicativos WPF e que se destina apenas a aplicativos de linha de comando.Embora John Leidegren continue rejeitando a ideia, Brian está correto. Acabei de fazer isso funcionar no Visual Studio.
Para esclarecer, um aplicativo WPF não cria uma janela de console por padrão.
Você deve criar um aplicativo WPF e alterar o OutputType para "Aplicativo de console". Ao executar o projeto, você verá uma janela de console com a janela WPF na frente dela.
Não parece muito bonito, mas achei útil porque queria que meu aplicativo fosse executado a partir da linha de comando com feedback lá, e então para certas opções de comando eu exibia a janela WPF.
fonte
É possível ver a saída destinada ao console usando o redirecionamento de linha de comando .
Por exemplo:
irá gravar todo o conteúdo no
output.txt
arquivo.fonte
Postagem antiga, mas me deparei com isso, então se você está tentando produzir algo para a saída em um projeto WPF no Visual Studio, o método contemporâneo é:
Incluir isto:
E depois:
fonte
Eu uso Console.WriteLine () para uso na janela Saída ...
fonte
Eu criei uma solução, misturei as informações do post varius.
É um formulário que contém um rótulo e uma caixa de texto. A saída do console é redirecionada para a caixa de texto.
Também existe uma classe chamada ConsoleView que implementa três métodos públicos: Show (), Close () e Release (). O último é para deixar aberto o console e ativar o botão Fechar para ver os resultados.
O formulário é denominado FrmConsole. Aqui estão o XAML e o código c #.
O uso é muito simples:
Para abrir o console. Usar:
Para texto de saída para o console.
Usar:
Para fechar o console.
Deixa aberto o console e ativa o botão Fechar
XAML
O código da janela:
o código da classe ConsoleView
Espero que este resultado seja útil.
fonte
Confira este post, foi muito útil pra mim. Baixe o exemplo de código:
http://www.codeproject.com/Articles/335909/Embedding-a-Console-in-aC-Application
fonte
Pelo que eu sei, Console.WriteLine () é apenas para aplicativos de console. Acho que esse é o seu problema.
fonte