Depurar dll personalizado que se hace referencia en Visual Studio Macro

Previamente pregunté:Añadir referencia dll a las macros de visual studio

La idea de crear las macros en mi idioma (C #) facilita la creación de las macros.El problema es que no puedo depurar el dll

Para resolver el problema he intentado:

ColoquémyClassLibrary.pdb cerca demyClassLibrary.dll esperando poder poder depurar los métodos en la dll entrando en ellos.

Creado un servicio WCF. Como no sabía cómo hacer referencia al servicio de vba, lo hago desde la biblioteca de clases. El problema es que necesito usar variables comoDTE.ActiveDocument y esas variables no son serializables, lo que significa que no pude pasarlas al servicio wcf.

La idea de trabajar en C # es muy agradable, pero no poder depurar y ver lo que sucede hace que sea un poco difícil. Es posible que tenga que ir a mi opción anterior donde creé mi código en C # compilado y luego lo descomprimí en vba con reflector.

Editar

Creo que estoy cerca de conseguir una solución. Pensé por qué no crear la macro en una aplicación de consola? Puedo obtener el texto del documento activo pero no puedo cambiarlo.

        EnvDTE80.DTE2 MyDte;
        MyDte = (EnvDTE80.DTE2)System.Runtime.InteropServices.Marshal.GetActiveObject( "VisualStudio.DTE.10.0" );
        Console.WriteLine( "The Edition is " + MyDte.Edition );

        Console.ReadLine( );

        // write to the console the text that is selected. "sometimes it does not work don't know why"
        Console.WriteLine(
            MyDte.ActiveDocument.Selection.Text
        );

nota que agregué las siguientes referencias más las onces que tienen las macros vba:

Respuestas a la pregunta(5)

Su respuesta a la pregunta