2010-02-15 12 views
5

Tengo una biblioteca .NET de terceros que habilita el resultado de alguna información clave de diagnóstico en una instancia de TextWriter. Me gustaría tener esta información volcada en la ventana de salida de Visual Studio 2008 mientras está en modo de depuración e ignorada si no está en modo de depuración. ¿Hay alguna manera de obtener una referencia a una secuencia de salida que use esta ventana de salida para poder crear una TextWriter que la use?¿Cómo puedo obtener una referencia a una secuencia de salida que escribe en la ventana de "salida" de Visual Studio?

Para utilizar la consola para la salida, lo que puedo hacer ...

foo.LogTo(Console.Out); 

El uso de esta interfaz, puedo obtener información enviada a la ventana de salida del registro?

Respuesta

1

Visual Studio ha permitido el writing of messages to the output window through the Debug class since .NET 1.1.

Dicho esto, es bastante fácil crear su propia implementación de TextWriter que simplemente reenvía las llamadas a los métodos apropiados en la clase Debug. Cuando el contenido se escribe en su TextWriter, debe llamar al método de la clase Debug y aparecerá en la ventana de resultados.

Además, como realiza las llamadas a la clase Debug, cuando no está en modo de depuración, la salida no se generará (debido al atributo Conditional en los métodos de la clase Debug).

+0

Gracias ... Supongo que no había considerado realmente lo obvio de crear un TextWriter propio que acabara de delegar en Debug.WriteLine, pero creo que es relativamente sencillo y probablemente lo que terminaré haciendo. –

1

Puede crear su propia clase derivada de TextWriter, utilizando el OutputDebugString API o use Debug.WriteLine() para reenviar los datos.

Cuestiones relacionadas