方法: オートメーション名前空間に参照を追加する

In Visual Studio 2013, add-ins are deprecated. We recommend that you upgrade your add-ins to VSPackage extensions. For more information about how to upgrade, see FAQ: アドインを VSPackage 拡張に変換する.

EnvDTEEnvDTE80EnvDTE90、または EnvDTE100 への参照を追加する場合は、.NET アセンブリ バージョンと COM ライブラリ バージョンのどちらを使用するかを選択します。 選択するバージョンは、プロジェクトによって異なります。

古いアプリケーションまたはアドインを保持している場合は、EnvDTEEnvDTE80EnvDTE90、または EnvDTE100 の COM バージョンを使用する必要があります。 それに対して、新しいマネージ アプリケーションまたはアドインを作成している場合は、.NET アセンブリ バージョンを使用する可能性が最も高くなります。

アドイン ウィザードを使用して任意のプログラミング言語でアドインを作成する場合、またはマクロを作成する場合は、その処理中に、EnvDTE、EnvDTE90、Env90、および Env100 の各アセンブリへの参照が追加されます。また、Connect クラスが含まれているファイルでは、EnvDTE 名前空間と EnvDTE80 名前空間に using (Visual Basic の場合は imports) ディレクティブが追加されます。

ただし、アドイン ウィザードで作成したマクロまたはアドイン以外でオートメーション オブジェクトにアクセスするには、アセンブリ参照および using (Visual Basic の場合は imports) ディレクティブを手動で追加する必要があります。 また、アセンブリ参照を手動で追加する場合は、アセンブリの相互運用機能型の埋め込みプロパティを false に設定する必要があります。 その場合は、次の手順を実行します。

  1. アセンブリ参照を追加します。 ソリューション エクスプローラーで、プロジェクトのショートカット メニューを開き、[追加][参照] をクリックし、[新しい参照の追加] をクリックします。 [.NET] タブで、アセンブリを選択し、[OK] をクリックします。 C# プロジェクトでは、ソリューション エクスプローラー[参照設定] ノードの下にアセンブリの名前が表示されます。 Visual Basic プロジェクトでは、プロジェクト プロパティにアセンブリの名前が表示されます。 ソリューション エクスプローラーで、プロジェクトを右クリックし、[プロパティ] をクリックします。 プロパティ ページが表示されます。 左ペインで [参照設定] ページを選択します。

  2. アセンブリ参照を選択し、[プロパティ] ウィンドウで、アセンブリの [相互運用機能型の埋め込み] プロパティを false に設定します。

名前空間への参照を追加した後、DTE オブジェクトおよび DTE2 オブジェクトに対してプログラミングが必要になる場合があります。 詳細については、「方法 : DTE オブジェクトおよび DTE2 オブジェクトへの参照を取得する」を参照してください。

注意

次の手順で参照している Visual Studio ユーザー インターフェイス要素の一部は、お使いのコンピューターでは名前や場所が異なる場合があります。これらの要素は、使用する Visual Studio のエディションとその設定によって決まります。詳細については、「Visual Studio での開発設定のカスタマイズ」を参照してください。

Visual Basic または Visual C# で EnvDTE 名前空間への参照を手動で追加するには

  1. In Solution Explorer, open the shortcut menu for the project, choose Add, References, and then choose the Add New Reference button.

  2. [参照の追加] ダイアログ ボックスで、必要なコンポーネントの種類のタブ ([.NET][COM] など) で EnvDTEEnvDTE80EnvDTE90、および EnvDTE100 をクリックします。

  3. [OK] をクリックして、2 つの新しい参照をプロジェクトに追加します。

  4. コード エディターで新しいアセンブリの Intellisense を有効にするには、プロジェクトのモジュールまたはクラスの先頭に、次のいずれかを追加します。

    Imports EnvDTE
    Imports EnvDTE80
    Imports EnvDTE90
    Imports EnvDTE100
    
    using EnvDTE;
    using EnvDTE80;
    using EnvDTE90;
    using EnvDTE100;
    

Managed Visual C++ で EnvDTE 名前空間への参照を手動で追加するには

  1. In Solution Explorer, open the shortcut menu for the project, choose Add, References, and then choose the Add New Reference button.

  2. [.NET] タブで、EnvDTEEnvDTE80、および EnvDTE90 を選択し、[追加] をクリックします。

  3. [OK] をクリックし、新しい参照をプロジェクトに追加します。

  4. コード エディターで新しいアセンブリの 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 )
    

参照

処理手順

方法: アドイン マネージャーを使用してアドインを制御する

チュートリアル : ウィザードの作成

概念

アドインの登録

オートメーション オブジェクト モデルの階層図

その他の技術情報

アドインおよびウィザードの作成