2011-09-26 79 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瞭解更多詳情...

相關問題