Estoy usando Console.WriteLine () desde una aplicación de prueba WPF muy simple, pero cuando ejecuto la aplicación desde la línea de comandos, no veo nada escrito en la consola. ¿Alguien sabe lo que podría estar pasando aquí?
Puedo reproducirlo creando una aplicación WPF en VS 2008, y simplemente agregando Console.WriteLine ("texto") en cualquier lugar que se ejecute. ¿Algunas ideas?
Todo lo que necesito ahora es algo tan simple como Console.WriteLine (). Me doy cuenta de que podría usar log4net o alguna otra solución de registro, pero realmente no necesito tanta funcionalidad para esta aplicación.
Editar: debería haber recordado que Console.WriteLine () es para aplicaciones de consola. Oh, bueno, sin preguntas estúpidas, ¿verdad? :-) Solo usaré System.Diagnostics.Trace.WriteLine () y DebugView por ahora.
Respuestas:
Tendrá que crear una ventana de consola manualmente antes de llamar a cualquier método Console.Write. Eso hará que la consola funcione correctamente sin cambiar el tipo de proyecto (que para la aplicación WPF no funcionará).
Aquí hay un ejemplo de código fuente completo, de cómo se vería una clase ConsoleManager y cómo se puede usar para habilitar / deshabilitar la consola, independientemente del tipo de proyecto.
Con la siguiente clase, solo necesita escribir en
ConsoleManager.Show()
algún lugar antes de cualquier llamada aConsole.Write
...fuente
SetConsoleCtrlHandler
función que permite ser notificado cuandoCTRL_CLOSE_EVENT
ocurre el evento pero no puedes hacer nada con él, no hay nada que permita que tu aplicación continúe. Serás cerrado. Si tiene ganas de piratear, probablemente podría cambiar el controlador de mensajes de Windows por el proceso de la consola y simplemente soltar el mensaje WM_CLOSE, nunca lo he intentado, pero podría funcionar. Es solo otra ventana, pero dicho esto, a menos que quieras entretener esta idea, probablemente sea mejor invertir tu esfuerzo en otra cosa.Haga clic derecho en el proyecto, "Propiedades", pestaña "Aplicación", cambie "Tipo de salida" a "Aplicación de consola", y luego también tendrá una consola.
fuente
Puedes usar
Esto dará como resultado la ventana "Salida" en Visual Studio (al depurar).
asegúrese de incluir el conjunto de diagnóstico:
fuente
Console.WriteLine
no está diseñado para aplicaciones WPF en absoluto, y que está destinado solo para aplicaciones de línea de comandos.Aunque John Leidegren sigue rechazando la idea, Brian tiene razón. Lo acabo de hacer funcionar en Visual Studio.
Para que quede claro, una aplicación WPF no crea una ventana de consola de forma predeterminada.
Debe crear una aplicación WPF y luego cambiar OutputType a "Aplicación de consola". Cuando ejecute el proyecto, verá una ventana de consola con su ventana de WPF al frente.
No se ve muy bonito, pero lo encontré útil porque quería que mi aplicación se ejecutara desde la línea de comandos con comentarios allí, y luego, para ciertas opciones de comando, mostraría la ventana de WPF.
fuente
Es posible ver la salida destinada a la consola mediante la redirección de la línea de comandos .
Por ejemplo:
escribirá todo el contenido en el
output.txt
archivo.fuente
Publicación anterior, pero me encontré con esto, por lo que si está tratando de generar algo en Salida en un proyecto WPF en Visual Studio, el método contemporáneo es:
Incluya esto:
Y entonces:
fuente
Yo uso Console.WriteLine () para usarlo en la ventana de Salida ...
fuente
Creé una solución, mezclé la información de varias publicaciones.
Es un formulario que contiene una etiqueta y un cuadro de texto. La salida de la consola se redirige al cuadro de texto.
También hay una clase llamada ConsoleView que implementa tres métodos públicos: Show (), Close () y Release (). El último es para dejar abierta la consola y activar el botón Cerrar para ver los resultados.
Los formularios se denominan FrmConsole. Aquí están el código XAML y c #.
El uso es muy sencillo:
Para abrir la consola. Utilizar:
Para enviar texto a la consola.
Utilizar:
Para Cerrar la consola.
Deja abierta la consola y habilita el botón Cerrar
XAML
El código de la ventana:
el código de la clase ConsoleView
Espero que este resultado sea de utilidad.
fuente
Echa un vistazo a esta publicación, fue muy útil para mí. Descarga el ejemplo de código:
http://www.codeproject.com/Articles/335909/Embedding-a-Console-in-aC-Application
fuente
Hasta donde yo sé, Console.WriteLine () es solo para aplicaciones de consola. Creo que este es tu problema.
fuente