2011-09-26 5 views
5

새 VS 2010 확장 성 패키지를 만들었습니다. 지금까지 내가하고 싶은 것은 사용자가 버튼을 누르고 솔루션의 전체 내용으로 listview를 채우는 것입니다. 이 보인다Visual Studio 확장 성 패키지가 올바른 프로젝트를보고 있지 않습니다.

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의 첫 번째 프로세스 인스턴스를 반환합니다. ...

here 및 자세한 내용은 here에서

봐 (비주얼 스튜디오 SDK에 비주얼 스튜디오 2010 2010 프로젝트는 실험 하이브를 execure하는 형 F5이 실패 할 수 있습니다)

관련 문제