2011-09-26 7 views
5

新しいVS 2010拡張性パッケージを作成しました。これまでは、ユーザーがボタンを押して、ソリューションの全内容をリストビューに表示させたいだけでした。私は、次のコードを持っている:これは動作するようには思えない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の最初のプロセスインスタンスを返します。詳細はherehere ...

で(のVisual Studio 2010のVisual Studio SDK 2010プロジェクトでは、実験的なハイブをexecureする 型F5が失敗する場合があります)

ルック

関連する問題