如何关闭由 EnvDTE 启动的 Visual Studio 进程

How to shutdown Visual Studio process started by EnvDTE

我编写了一个控制台应用程序,它使用 EnvDTE 处理 10 个左右的解决方案并以编程方式重构它们 - 更改引用和项目结构

        var envDteType = Type.GetTypeFromProgID("VisualStudio.DTE.15.0");

        var envDte = Activator.CreateInstance(envDteType, true);
        var dte2 = (DTE2)envDte;

        var solution = (Solution4)dte2.Solution;
        solution.Open(filename);

        // execute various tasks

        solution.Close();
        // how to dispose of dte2?

诀窍是,当我的应用程序完成时,仍有 Visual Studio 个进程 运行 可能由 EnvDTE 打开。我明显关闭了我唯一的 Visual Studio 实例 运行,它们仍然存在。

有没有办法关闭 EnvDTE 对象产生的那些进程?

下面好像没有效果

dte2.Application.ActiveWindow.Close();

Hans 是正确的 - dte2.Quit(); 可以做到