Visual Studio Extensibility Package没有查看正确的项目
问题描述:
我创建了一个新的VS 2010扩展性包。到目前为止,我想要做的就是让用户按下一个按钮,并用解决方案的全部内容填充一个列表视图。我有以下代码:Visual Studio Extensibility Package没有查看正确的项目
EnvDTE80.DTE2 dte = (EnvDTE80.DTE2)System.Runtime.InteropServices.Marshal.
GetActiveObject("VisualStudio.DTE.10.0");
foreach (Project project in dte.Solution.Projects)
{
foreach(ProjectItem pi in project.ProjectItems)
{
listView1.Items.Add(pi.Name.ToString());
}
}
这似乎工作,但是,它填充与包装解决方案的内容的列表中它而不是这个运行时启动实验实例。我是否错误地实例化了引用?
答
没有 - 你需要使用ProjectItem.SubProject
去你想要的...这取决于解决方案的结构可能需要一些递归...一些示例代码这样做很好这一切看http://www.wwwlicious.com/2011/03/envdte-getting-all-projects.html