¿Cómo hacer que el control WebBrowser funcione en la aplicación de consola?

Tengo una clase de impresora que es capaz de imprimir HTML a través del objeto WebBrowser. Quiero poder imprimir desde una aplicación de consola, pero recibo un error cuando mi clase de impresora intenta crear un objeto WebBrowser:

WebBrowser browser = new WebBrowser();

Error

ActiveX control '8856f961-340a-11d0-a96b-00c04fd705a2' cannot 
be instantiated because the current thread is not in a 
single-threaded apartment.  

Intenté agregar una referencia a System.Windows.Forms en mi aplicación de consola, pero eso no funcionó. No tengo la menor idea de lo que está sucediendo aquí, pero agradecería la ayuda.

Respuestas a la pregunta(2)

Su respuesta a la pregunta