Как получить список проектов в текущем решении Visual Studio?

Когда мы открываем Консоль диспетчера пакетов в любом открытом решении, она показывает все проекты этого решения. Как он загружает все проекты одного решения. Когда я пытался с приведенным ниже кодом, он выбирает проекты первого решения, которое я открыл.

    private List<Project> GetProjects()
    {
        var dte = (DTE)Marshal.GetActiveObject(string.Format(CultureInfo.InvariantCulture, "VisualStudio.DTE.{0}.0", targetVsVersion));
        var projects = dte.Solution.OfType<Project>().ToList();
        return projects;
    }

Ответы на вопрос(3)

Ваш ответ на вопрос