2012-05-13 13 views
5

すべてのプロジェクトとそのプロジェクトの参照を分析する必要があるVisual Studio 2010拡張パッケージ(Microsoft.VisualStudio.Shell.Package)を作成しています。私はこれがサービス(例えばPackage.GetService(typeof(IMenuCommandService)))で行われていると思います。私が必要とするのは、プロジェクトのリストとそれらのプロジェクトの参照を取得する機能を含むインターフェイスです。また、ビジュアルスタジオ内で使用可能なインターフェイスを含むリファレンスをどこに見つけるかについてのアドバイスは、非常に高く評価されます。Visual Studio 2010 Extension内のプロジェクト/参照のリストを取得

マクロからDTEを使用して同様のことをしようとする複数の人がいることに注目してください。それは私がやろうとしていることではありません。私はVisual Studio Extension内から同じことをしようとしています。

答えて

7

拡張機能の一部としてこれを行っていても、必要なすべての情報を取得するためにDTE APIを使用する必要があります。それは後ろに見えるかもしれませんが、それはそれが動作する方法です。 (EnvDTE.DTE)Package.GetService(typeof(SDTE))でDTEオブジェクトを取得する必要があります。 EnvDTE.Projectを取得したら、オブジェクトメンバーにアクセスし、C#またはVBプロジェクトの場合はVSLangProj.VSProjectにキャストします。これには必要な参照情報があります。

+0

これはちょっと変わっているようですが、私はあなたの答えを確認しました。ありがとうございました! –

+0

はい、確実に情報を取得する唯一の方法は、DTE経由です。それは愚かで後ろ向きですが、それがうまくいく方法です。 –

+0

場合によっては、すべてのプロジェクトを取得するわけではありません:http://stackoverflow.com/questions/33209589/project-names-in-visual-studio-solution-sometimes-are-empty – alerya

関連する問題