Для Visual Studio 6.0 я могу подключиться к исполняемому экземпляру, например:
o = GetActiveObject("MSDev.Application")
Да, я знаю, что я могу построить решение из командной строки. Но в этом случае мне нужно подключиться к исполняемому экземпляру Visual Studio.
EDIT: найден и отправлен ответ, см. ниже.
После небольшого исследования (в основном, смотря на документы 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