Debuguj niestandardowy plik DLL, do którego odwołuje się makro wizualne

Wcześniej pytałem:Dodaj dll do wizualnych makr studia

pomysł tworzenia makr w moim języku (C #) ułatwia tworzenie makr.Problem polega na tym, że nie mogę debugować biblioteki DLL

Aby rozwiązać problem, próbowałem:

UmieściłemmyClassLibrary.pdb obokmyClassLibrary.dll mając nadzieję, że będę mógł debugować metody w dll, wchodząc do nich.

Utworzono usługę WCF. Ponieważ nie wiedziałem, jak odwołać się do usługi z vba, odwołuję się do niej z biblioteki klas. Problem polega na tym, że muszę używać zmiennych, takich jakDTE.ActiveDocument a te zmienne nie są możliwe do serializacji, co oznacza, że ​​nie mogę przekazać ich do usługi wcf.

idea pracy w C # jest bardzo miła, ale brak możliwości debugowania i sprawdzania, co się dzieje, sprawia, że ​​jest to trochę trudne. Być może będę musiał przejść do mojej starszej opcji, gdzie utworzyłem mój kod na C # skompilowany, a następnie dekompilowałem do vba z reflektorem.

Edytować

Myślę, że jestem blisko uzyskania rozwiązania. Pomyślałem, dlaczego nie utworzyć makra w aplikacji konsoli? Jestem w stanie uzyskać aktywny tekst dokumentu, ale nie mogę go zmienić.

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

Uwaga: dodałem następujące odnośniki oraz elementy, które mają makra vba:

questionAnswers(5)

yourAnswerToTheQuestion