2011-09-26 80 views
5

我创建了一个新的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()); 
    } 
} 

这似乎工作,但是,它填充与包装解决方案的内容的列表中它而不是这个运行时启动实验实例。我是否错误地实例化了引用?

回答

1

GetActiveObject方法返回DTE的第一个流程实例,而不是 调用者DTE。 (在Visual Studio SDK 2010年的Visual Studio 2010项目, 类型F5到execure实验蜂巢可能会失败)

herehere了解更多详情...

相关问题