从代码中获取解决方案中的项目列表

时间:2016-08-09 11:48:17

标签: c# visual-studio-2010 code-generation

我从IWizard实现了Microsoft.VisualStudio.TemplateWizard - 接口,以自动生成VS项目文件。在我的解决方案中,有四个不同的项目。

现在在ProjectFinishedGenerating范围内,我想获得解决方案中所有项目的列表:

public void ProjectFinishedGenerating(Project project)
{
    var vsProject = (VSProject)project.Object;
    var references = ((Array)project.DTE.ActiveSolutionProjects).OfType<Project>();
}

但是,只返回提供给方法的项目所指示的项目而不是解决方案中的所有项目。当然这些项目都是活跃的。

ListOfProjectsInSolution

1 个答案:

答案 0 :(得分:0)

显然DTE.ActiveSolutionProjects会返回所选项目的列表。我们想要的是所有活动的列表:

var references = project.DTE.Solution.Projects.Cast<Project>();