方法: オートメーション名前空間に参照を追加する
EnvDTE、EnvDTE80、EnvDTE90、または EnvDTE100 への参照を追加する場合は、.NET アセンブリ バージョンと COM ライブラリ バージョンのどちらを使用するかを選択します。選択するバージョンは、プロジェクトによって異なります。
古いアプリケーションまたはアドインを保持している場合は、EnvDTE、EnvDTE80、EnvDTE90、または EnvDTE100 の COM バージョンを使用する必要があります。それに対して、新しいマネージ アプリケーションまたはアドインを作成している場合は、.NET アセンブリ バージョンを使用する可能性が最も高くなります。
アドイン ウィザードを使用して任意のプログラミング言語でアドインを作成する場合、またはマクロを作成する場合は、その処理中に、EnvDTE、EnvDTE90、Env90、および Env100 の各アセンブリへの参照が追加されます。また、Connect クラスが含まれているファイルでは、EnvDTE 名前空間と EnvDTE80 名前空間に using (Visual Basic の場合は imports) ディレクティブが追加されます。
ただし、アドイン ウィザードで作成したマクロまたはアドイン以外でオートメーション オブジェクトにアクセスするには、アセンブリ参照および using (Visual Basic の場合は imports) ディレクティブを手動で追加する必要があります。また、アセンブリ参照を手動で追加する場合は、アセンブリの相互運用機能型の埋め込みプロパティを false に設定する必要があります。そのためには、次の手順に従います。
アセンブリ参照を追加します。ソリューション エクスプローラーで、プロジェクトを右クリックし、[参照の追加] をクリックします。[.NET] タブでアセンブリを選択し、[OK] をクリックします。C# プロジェクトでは、ソリューション エクスプローラーの [参照設定] ノードの下にアセンブリの名前が表示されます。Visual Basic プロジェクトでは、プロジェクト プロパティにアセンブリの名前が表示されます。ソリューション エクスプローラーで、プロジェクトを右クリックし、[プロパティ] をクリックします。プロパティ ページが表示されます。左ペインで [参照設定] ページを選択します。
アセンブリ参照を選択し、[プロパティ] ウィンドウで、アセンブリの [相互運用機能型の埋め込み] プロパティを false に設定します。
名前空間への参照を設定した後、DTE オブジェクトおよび DTE2 オブジェクトに対してプログラミングが必要になる場合があります。詳細については、「方法 : DTE オブジェクトおよび DTE2 オブジェクトへの参照を取得する」を参照してください。
[!メモ]
実際に画面に表示されるダイアログ ボックスとメニュー コマンドは、アクティブな設定またはエディションによっては、ヘルプの説明と異なる場合があります。ここに記載されている手順は、全般的な開発設定が適用されているものとして記述されています。設定を変更するには、[ツール] メニューの [設定のインポートとエクスポート] をクリックします。詳細については、「Visual Studio の設定」を参照してください。
Visual Basic または Visual C# で EnvDTE 名前空間への参照を手動で追加するには
ソリューション エクスプローラーのプロジェクトまたは [参照設定] ノードを右クリックし、[参照の追加] をクリックするか、[プロジェクト] メニューの [参照の追加] コマンドをクリックします。
[参照の追加] ダイアログ ボックスで、必要なコンポーネントの種類のタブ ([.NET] や [COM] など) をクリックします。
一覧をスクロール ダウンし、EnvDTE、EnvDTE80、EnvDTE90、および EnvDTE100 を選択します。
[OK] をクリックし、2 つの新しい参照をプロジェクトに追加します。
コード エディターで新しいアセンブリの Intellisense を有効にするには、プロジェクトのモジュールまたはクラスの先頭に、次のいずれかを追加します。
Imports EnvDTE Imports EnvDTE80 Imports EnvDTE90 Imports EnvDTE100
using EnvDTE; using EnvDTE80; using EnvDTE90; using EnvDTE100;
Managed Visual C++ で EnvDTE 名前空間への参照を手動で追加するには
ソリューション エクスプローラーのプロジェクト ノードを右クリックし、[参照の追加] をクリックするか、または [プロジェクト] メニューの [参照の追加] コマンドをクリックします。
[新しい参照の追加] をクリックし、[.NET] タブをクリックします。
一覧をスクロール ダウンし、EnvDTE、EnvDTE80、および EnvDTE90 を選択して、[追加] をクリックします。
[OK] をクリックし、新しい参照をプロジェクトに追加します。
コード エディターで新しいアセンブリの Intellisense を有効にするには、メイン プロジェクト ファイルの先頭に、次のコードを追加します。
// Visual C++ #using <envdte.dll> #using <envdte80.dll> #using <envdte90.dll> #using <envdte100.dll>
EnvDTE 名前空間および EnvDTE80 名前空間への参照を Managed (ATL) Visual C++ 以外に追加するには
適切なヘッダー ファイルまたはソース ファイルに次のコードを追加します。
#pragma warning( disable : 4278 ) #pragma warning( disable : 4146 ) //The following #import imports EnvDTE based on its LIBID. #import "libid:80cc9f66-e7d8-4ddd-85b6-d9e6cd0e93e2" version("8.0") lcid("0") raw_interfaces_only named_guids //The following #import imports EnvDTE80 based on its LIBID. #import "libid:1A31287A-4D7D-413e-8E32-3B374931BD89" version("8.0") lcid("0") raw_interfaces_only named_guids //The following #import imports EnvDTE90 based on its LIBID. #import "libid: 2ce2370e-d744-4936-a090-3fffe667b0e1" version("9.0") lcid("0") raw_interfaces_only named_guids //The following #import imports EnvDTE100 based on its LIBID. #import "libid: 26ad1324-4b7c-44bc-84f8-b86aed45729f" version("10.0") lcid("0") raw_interfaces_only named_guids #pragma warning( default : 4146 ) #pragma warning( default : 4278 )