从代码中获取解决方案中的项目列表
get list of projects within solution from code
我实现了 Microsoft.VisualStudio.TemplateWizard
的 IWizard
接口来自动生成一个 VS 项目文件。在我的解决方案中有四个不同的项目。
现在 ProjectFinishedGenerating
我想获得我的解决方案中所有项目的列表:
public void ProjectFinishedGenerating(Project project)
{
var vsProject = (VSProject)project.Object;
var references = ((Array)project.DTE.ActiveSolutionProjects).OfType<Project>();
}
但是,只返回提供给该方法的项目所指示的项目,而不是解决方案中的所有项目。当然项目都是活跃的
显然 DTE.ActiveSolutionProjects
returns 已选择 项目的列表。相反,我们想要的是所有 active 的列表:
var references = project.DTE.Solution.Projects.Cast<Project>();
我实现了 Microsoft.VisualStudio.TemplateWizard
的 IWizard
接口来自动生成一个 VS 项目文件。在我的解决方案中有四个不同的项目。
现在 ProjectFinishedGenerating
我想获得我的解决方案中所有项目的列表:
public void ProjectFinishedGenerating(Project project)
{
var vsProject = (VSProject)project.Object;
var references = ((Array)project.DTE.ActiveSolutionProjects).OfType<Project>();
}
但是,只返回提供给该方法的项目所指示的项目,而不是解决方案中的所有项目。当然项目都是活跃的
显然 DTE.ActiveSolutionProjects
returns 已选择 项目的列表。相反,我们想要的是所有 active 的列表:
var references = project.DTE.Solution.Projects.Cast<Project>();