Отладка пользовательской библиотеки DLL, на которую ссылается макрос Visual Studio

Я ранее спросил:Добавить dll ссылку на макросы Visual Studio

идея создания макросов на моем языке (C #) облегчает создание макросов.The problem is that I cannot debug the dll

To solve the problem I have tried:

I placed myClassLibrary.pdb next to myClassLibrary.dll hoping I where going to be able to debug the methods in the dll by steping in to them.

Created a WCF service. Because I did not knew how to reference the service from vba I reference it from the class library. The problem is that I need to use variables such as DTE.ActiveDocument and those variables are not serializable meaning I could not pass them to the wcf service.

Идея работы в C # очень хороша, но неспособность отладить и посмотреть, что происходит, делает ее несколько трудной. Возможно, мне придется перейти к моей более старой версии, где я создал свой код на C #, скомпилированный и декомпилированный в vba с отражателем.

Edit

Я думаю, что я близок к получению решения. Я подумал, почему бы не создать макрос в консольном приложении? Я могу получить активный текст документа, но не могу его изменить.

        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
        );

Обратите внимание, что я добавил следующие ссылки, а также элементы, которые есть в макросах vba:

enter image description here

Ответы на вопрос(5)

Ваш ответ на вопрос