Gewusst wie: Hinzufügen von Verweisen auf Automatisierungsnamespaces

Wenn Sie einen Verweis auf EnvDTE, EnvDTE80, EnvDTE90 oder EnvDTE100 hinzufügen, können Sie wahlweise eine .NET-Assemblyversion oder eine COM-Bibliotheksversion verwenden. Wofür Sie sich entscheiden sollten, hängt von dem jeweiligen Projekt ab.

Wenn Sie eine ältere Automatisierungsanwendung oder ein entsprechendes Add-In beibehalten möchten, müssen Sie u. U. die COM-Version von EnvDTE, EnvDTE80, EnvDTE90 oder EnvDTE100 verwenden. Erstellen Sie hingegen eine neue verwaltete Anwendung oder ein entsprechendes Add-In, empfiehlt es sich, die .NET-Assemblyversion zu verwenden.

Wenn Sie mit dem Add-In-Assistenten ein Add-In in einer beliebigen Programmiersprache oder ein Makro erstellen, werden Verweise auf die Assemblys EnvDTE, EnvDTE90, Env90 und Env100 vom Prozess hinzugefügt. In der Datei mit der Connect-Klasse werden dem EnvDTE- und dem EnvDTE80-Namespace darüber hinaus using-Direktiven(imports-Direktiven in Visual Basic) hinzugefügt.

Um jedoch außerhalb von Makros oder mit dem Add-In-Assistenten erstellten Add-Ins auf die Automatisierungsobjekte zuzugreifen, müssen Sie die Assemblyverweise und using-Direktiven (imports-Direktive in Visual Basic) jedoch manuell hinzufügen. Wenn Sie einen Assemblyverweis manuell hinzufügen, müssen Sie auch die Assemblyeigenschaft Interoptypen einbetten auf false festlegen. Führen Sie dazu die folgenden Schritte aus:

  1. Fügen Sie den Assemblyverweis hinzu. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, und wählen Sie Verweis hinzufügen aus. Wählen Sie auf der .NET-Registerkarte die Assembly aus, klicken Sie dann auf OK. In einem C#-Projekt wird der Name der Assembly im Projektmappen-Explorer unter dem Knoten Verweise angezeigt. In einem Visual Basic-Projekt wird der Name der Assembly in den Projekteigenschaften angezeigt. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, und wählen Sie Eigenschaften aus. Die Eigenschaftenseiten werden angezeigt. Wählen Sie im linken Bereich die Seite Verweise aus.

  2. Wählen Sie den Assemblyverweis aus, und legen Sie im Eigenschaftenfenster die Assemblyeigenschaft Interoptypen einbetten auf false fest.

Nachdem Sie die Verweise auf die Namespaces erstellt haben, werden Sie wahrscheinlich zur Programmierung das DTE-Objekt und das DTE2-Objekt verwenden. Weitere Informationen finden Sie unter Gewusst wie: Abrufen von Verweisen auf das DTE-Objekt und das DTE2-Objekt.

Tipp

Je nach den aktiven Einstellungen oder der Version unterscheiden sich die Dialogfelder und Menübefehle auf Ihrem Bildschirm möglicherweise von den in der Hilfe beschriebenen. Bei der Entwicklung dieser Verfahren war die Option Allgemeine Entwicklungseinstellungen aktiviert. Wählen Sie im Menü Extras die Option Einstellungen importieren und exportieren aus, um die Einstellungen zu ändern. Weitere Informationen finden Sie unter Arbeiten mit Einstellungen.

So fügen Sie in Visual Basic oder Visual C# manuell Verweise auf die EnvDTE-Namespaces hinzu

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Projekt- oder Verweisknoten, und klicken Sie dann auf Verweis hinzufügen. Sie können auch im Menü Projekt auf den Befehl Verweis hinzufügen klicken.

  2. Klicken Sie im Dialogfeld Verweis hinzufügen auf die Registerkarte für den gewünschten Komponententyp, z. B. .NET oder COM.

  3. Führen Sie in der Liste einen Bildlauf nach unten aus, und wählen Sie EnvDTE, EnvDTE80, EnvDTE90 und EnvDTE100 aus.

  4. Klicken Sie auf OK, um dem Projekt die beiden neuen Verweise hinzuzufügen.

  5. Fügen Sie im Code-Editor am Anfang des Projektmoduls oder der Klasse einen der folgenden Einträge hinzu, um Intellisense für die neuen Assemblys zu aktivieren:

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

So fügen Sie in verwaltetem Visual C++ manuell Verweise auf die EnvDTE-Namespaces hinzu

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Projektknoten, und klicken Sie dann auf Verweise hinzufügen. Sie können auch im Menü Projekt auf den Befehl Verweise hinzufügen klicken.

  2. Klicken Sie auf Neuen Verweis hinzufügen und anschließend auf die Registerkarte .NET.

  3. Führen Sie in der Liste einen Bildlauf nach unten aus, wählen Sie EnvDTE, EnvDTE80 und EnvDTE90 aus, und klicken Sie dann auf Hinzufügen.

  4. Klicken Sie auf OK, um dem Projekt die neuen Verweise hinzuzufügen.

  5. Fügen Sie im Code-Editor am Anfang der Hauptprojektdatei Folgendes hinzu, um Intellisense für die neuen Assemblys zu aktivieren:

    // Visual C++
    #using <envdte.dll>
    #using <envdte80.dll>
    #using <envdte90.dll>
    #using <envdte100.dll>
    

So fügen Sie nicht verwaltetem Visual C++ (ATL) Verweise auf den EnvDTE-Namespace und den EnvDTE80-Namespace hinzu

  • Fügen Sie in einer geeigneten Header- oder Quelldatei den folgenden Code ein:

    #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 )
    

Siehe auch

Aufgaben

Gewusst wie: Steuern von Add-Ins mit dem Add-In-Manager

Exemplarische Vorgehensweise: Erstellen eines Assistenten

Konzepte

Add-In-Registrierung

Diagramm "Automationsobjektmodell"

Weitere Ressourcen

Erstellen von Add-Ins und Assistenten