python - 使用 COM 连接到正在运行的 Visual Studio 2003 实例,构建并读取输出

标签 python visual-studio com

对于 Visual Studio 6.0,我可以连接到正在运行的实例,例如:

o = GetActiveObject("MSDev.Application")
  • Visual Studio 2003 使用什么程序 ID?
  • 获得引用 VS2003 实例的 COM 对象后,如何执行“构建解决方案”?
  • 执行构建解决方案命令后如何获取构建输出窗口的字符串内容?

是的,我知道我可以从命令行构建解决方案。但在本例中,我需要连接到正在运行的 Visual Studio 实例。

编辑:找到并提交了答案,请参见下文。

最佳答案

经过一些研究(主要是查看 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

关于python - 使用 COM 连接到正在运行的 Visual Studio 2003 实例,构建并读取输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/943863/

相关文章:

python - 如何使用 Python 运行 IOMeter?

python - 用零填充 numpy 数组,并使用另一个数组作为 1 的索引

visual-studio - Visual Studio社区版和伪造的框架?

visual-studio-2010 - 如何将 PowerShell 与 Visual Studio 命令提示符结合使用?

delphi - 如何将 IAutoComplete 与 TStringsAdapter 一起使用?

Python 实例到 COM 对象

python - GAE : Unicode JSON String Not Working in Multipart Post After Blob Upload

python - 检查 Tensor 是否为 Placeholder?

visual-studio - Visual Studio 中的 ExtJS (2010)

.net - 在 2 台机器上生成的 .tlh 不同