Надстройка Visual Studio 2008 и 2008 SP1: использование EnvDTE90 и EnvDTE90a - PullRequest
1 голос
/ 12 мая 2009

Кто-нибудь знает аналог для этого в Visual Studio 2008 ( EnvDTE90 ) и Visual Studio 2008 SP1 ( EnvDTE90a )?

    //this is code for Visual Studio 2005, works great
    EnvDTE80.DTE2 dte2 = (EnvDTE80.DTE2)System.Runtime.InteropServices.Marshal.
    GetActiveObject("VisualStudio.DTE.8.0");

    foreach (EnvDTE80.Breakpoint2 bp in dte2.Debugger.Breakpoints)
    {
         //do some things
    }

Я сделал нормальный поиск в Google и нашел разные вещи, но ни одна из них не сработала.

EnvDTE90.Debugger3 , кажется, работает только при активной отладке. Я хочу получить доступ к точкам останова в любое время?

ПРИМЕЧАНИЕ. Пожалуйста, не отправляйте ссылки на существующие примеры кода, которые ДОЛЖНЫ работать. Я перепробовал все, что смог найти.

Ответы [ 2 ]

3 голосов
/ 13 мая 2009

Код VS2005 (EnvDTE80) также должен нормально работать с VS2008. EnvDTE90 просто добавляет некоторые новые функциональные возможности, но EnvDTE80 и EnvDTE по-прежнему необходимы для основ.

0 голосов
/ 14 мая 2009

Я наконец-то получил работающий код. Ответ Кристофера частично верен в том, что можно использовать тот же API, но код не будет работать дословно. Вот как я заставил его работать:

EnvDTE80.DTE2 dte2 = (EnvDTE80.DTE2)System.Runtime.InteropServices.Marshal.
GetActiveObject("VisualStudio.DTE.9.0");

foreach (EnvDTE80.Breakpoint2 bp in dte2.Debugger.Breakpoints)
{
     //do some things
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...