Подключитесь к работающему экземпляру Visual Studio 2003 с помощью COM, создайте и прочитайте вывод - PullRequest
1 голос
/ 03 июня 2009

Для Visual Studio 6.0 я могу подключиться к работающему экземпляру, например:

o = GetActiveObject("MSDev.Application")
  • Какой идентификатор программы я использую для Visual Studio 2003?
  • Как выполнить «Построение решения», если у меня есть COM-объект, который ссылается на экземпляр VS2003?
  • Как получить содержимое строки в окне вывода сборки после выполнения команды решения для сборки?

Да, я знаю, что могу построить решение из командной строки. Но в этом случае мне нужно подключиться к работающему экземпляру Visual Studio.

РЕДАКТИРОВАТЬ: найден и отправлен ответ, см. Ниже.

1 Ответ

2 голосов
/ 03 июня 2009

После небольшого исследования (в основном рассматривая документы EnvDTE) я сам нашел решение этой проблемы:

Чтобы построить текущее решение (код на Python):

def build_active_solution(progid="VisualStudio.DTE.7.1"):
    from win32com.client import GetActiveObject
    dte = GetActiveObject(progid)
    sb = dte.Solution.SolutionBuild
    sb.Build(True)

    output = dte.Windows['Output'].Object.ActivePane.TextDocument.Selection
    output.SelectAll()
    return output.Text
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...