Debuggen von Erweiterungen für die SharePoint-Tools in Visual Studio

Sie können SharePoint-Tools-Erweiterungen in der experimentellen Instanz oder in der regulären Instanz von Visual Studio debuggen. Wenn Sie Fehler im Verhalten einer Erweiterung beheben müssen, können Sie auch Registrierungswerte ändern, um weitere Fehlerinformationen anzuzeigen und die Ausführung von SharePoint-Befehlen durch Visual Studio zu konfigurieren.

Debuggen von Erweiterungen in der experimentellen Instanz von Visual Studio

Zum Schutz der Visual Studio-Entwicklungsumgebung vor versehentlicher Beschädigung durch ungeprüfte Erweiterungen wird vom Visual Studio SDK eine alternative Visual Studio-Instanz – die so genannte experimentelle Instanz – bereitgestellt, mit der Erweiterungen installiert und getestet werden können. Die Entwicklung neuer Erweiterungen wird in der regulären Instanz von Visual Studio vorgenommen, das Debugging und die Ausführung erfolgen dagegen in der experimentellen Instanz. Weitere Informationen finden Sie unter Experimental Instance of Visual Studio.

Wenn Sie die Erweiterung mithilfe eines VSIX-Projekts bereitstellen und es sich bei dem VSIX-Projekt um das Startprojekt in der Lösung handelt, wird die Erweiterung automatisch in der experimentellen Instanz installiert und ausgeführt, wenn Sie die Lösung debuggen. Das Startprojekt ist das Projekt, das beim Debuggen einer Lösung mit mehreren Projekten gestartet wird. Weitere Informationen zum Bereitstellen einer Erweiterung mithilfe eines VSIX-Projekts finden Sie unter Bereitstellen von Erweiterungen für die SharePoint-Tools in Visual Studio. Weitere Informationen zu Startprojekten finden Sie unter Gewusst wie: Auswählen des Startprojekts.

In den folgenden exemplarischen Vorgehensweisen finden Sie Beispiele, die das Debuggen verschiedener Arten von Erweiterungen in der experimentellen Instanz von Visual Studio veranschaulichen:

Debuggen von Erweiterungen in der regulären Instanz von Visual Studio

Installieren Sie zunächst die Erweiterung in der regulären Instanz, wenn Sie das Erweiterungsprojekt in der regulären Instanz von Visual Studio debuggen möchten. Fügen Sie dann den Debugger an einen zweiten Visual Studio-Prozess an. Anschließend können Sie die Erweiterung entfernen, damit sie auf dem Entwicklungscomputer nicht mehr geladen wird.

So installieren Sie die Erweiterung

  1. Schließen Sie alle Instanzen von Visual Studio.

  2. Doppelklicken Sie im Buildausgabeordner für das Erweiterungsprojekt auf die VSIX-Datei.

  3. Wählen Sie im Dialogfeld Installer für Visual Studio-Erweiterungen die Edition von Visual Studio aus, für die Sie die Erweiterung installieren möchten, und klicken Sie dann auf Installieren.

    Die Erweiterungsdateien werden unter "%UserProfile%\AppData\Local\Microsoft\VisualStudio\10.0\Extensions\Name des Autors\Name der Erweiterung\Version" installiert. Die letzten drei Ordner in diesem Pfad werden aus den Elementen Author, Name und Version der Datei "extension.vsixmanifest" für die Erweiterung erstellt.

  4. Klicken Sie auf Schließen, nachdem die Erweiterung installiert wurde.

So debuggen Sie die Erweiterung

  1. Starten Sie Visual Studio mit Administratorrechten, und öffnen Sie das Erweiterungsprojekt. Diese Instanz von Visual Studio wird in den folgenden Schritten als erste Instanz bezeichnet.

  2. Starten Sie eine weitere Instanz von Visual Studio mit Administratorrechten. Diese Instanz von Visual Studio wird in den folgenden Schritten als zweite Instanz bezeichnet.

  3. Wechseln Sie zur ersten Instanz von Visual Studio.

  4. Klicken Sie im Menü Debuggen auf An den Prozess anhängen.

  5. Klicken Sie in der Liste Verfügbare Prozesse auf "devenv.exe". In diesem Eintrag wird auf die zweite Instanz von Visual Studio verwiesen. Dies ist die Instanz zum Debuggen der Projekterweiterung.

  6. Klicken Sie auf Anfügen.

    Das Erweiterungsprojekt wird im Debugmodus ausgeführt.

  7. Wechseln Sie zur zweiten Instanz von Visual Studio.

  8. Erstellen Sie ein neues SharePoint-Projekt, von dem die Erweiterung geladen wird. Wenn Sie beispielsweise eine Erweiterung für die Projektelemente einer Listendefinition debuggen, erstellen Sie ein Projekt vom Typ Listendefinition.

  9. Führen Sie die erforderlichen Schritte zum Testen des Erweiterungscodes aus.

  10. Schließen Sie die zweite Instanz von Visual Studio, wenn das Debugging der Erweiterung abgeschlossen ist.

So entfernen Sie die Erweiterung

  1. Klicken Sie in Visual Studio im Menü Extras auf Erweiterungs-Manager.

    Das Dialogfeld Erweiterungs-Manager wird geöffnet.

  2. Klicken Sie in der Liste mit den Erweiterungen auf den Namen der Erweiterung und anschließend auf Deinstallieren.

  3. Klicken Sie im angezeigten Dialogfeld auf Ja, um zu bestätigen, dass Sie die Erweiterung deinstallieren möchten.

  4. Klicken Sie auf Jetzt neu starten, um die Deinstallation abzuschließen.

Debuggen von SharePoint-Befehlen

Wenn Sie einen SharePoint-Befehl debuggen möchten, der einen Teil einer SharePoint-Tools-Erweiterung darstellt, müssen Sie den Debugger an den Prozess vssphost4.exe anfügen. Hierbei handelt es sich um den 64-Bit-Hostprozess zum Ausführen von SharePoint-Befehlen. Weitere Informationen zu SharePoint-Befehlen und zu vssphost4.exe finden Sie unter Aufrufe in die SharePoint-Objektmodelle.

So fügen Sie den Debugger an den Prozess vssphost4.exe an

  1. Debuggen Sie die Erweiterung in der experimentellen Instanz von Visual Studio oder in der regulären Instanz von Visual Studio, indem Sie die obigen Anweisungen befolgen.

  2. Klicken Sie in der Instanz von Visual Studio, in der Sie den Debugger ausführen, im Menü Debuggen auf An den Prozess anhängen.

  3. Klicken Sie in der Liste Verfügbare Prozesse auf vssphost.exe.

    Tipp

    Wenn vssphost.exe nicht in der Liste aufgeführt wird, müssen Sie den Prozess vssphost4.exe in der Instanz von Visual Studio starten, in der Sie die Erweiterung ausführen. In der Regel führen Sie dazu eine Aktion aus, durch die eine Verbindung von Visual Studio mit der SharePoint-Website auf dem Entwicklungscomputer hergestellt wird. Visual Studio startet z. B. vssphost4.exe, wenn Sie einen Website-Verbindungsknoten (einen Knoten, von dem eine Website-URL angezeigt wird) unter dem Knoten SharePoint-Verbindungen im Fenster Server-Explorer erweitern oder wenn Sie einem SharePoint-Projekt bestimmte SharePoint-Projektelemente hinzufügen, beispielsweise die Elemente Listeninstanz oder Ereignisempfänger.

  4. Klicken Sie auf Anfügen.

  5. Führen Sie in der Instanz von Visual Studio, für die das Debugging durchgeführt wird, die zum Ausführen des Befehls erforderlichen Schritte aus.

Debuggen von SharePoint-Tools-Erweiterungen durch Ändern von Registrierungswerten

Wenn Sie eine Erweiterung der SharePoint-Tools in Visual Studio debuggen, können Sie Werte in der Registrierung ändern, um die Problembehandlung für die Erweiterung zu erleichtern. Die Werte sind unter dem Schlüssel HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\SharePointTools vorhanden. Diese Werte sind standardmäßig nicht vorhanden.

Um die Problembehandlung für Erweiterungen der SharePoint-Tools zu erleichtern, können Sie den Wert von EnableDiagnostics festlegen. Dieser Wert wird der folgenden Tabelle beschrieben.

Wert

Beschreibung

EnableDiagnostics

REG_DWORD-Wert, der angibt, ob Diagnosemeldungen im Ausgabefenster angezeigt werden.

Legen Sie diesen Wert auf "1" fest, wenn Diagnosemeldungen angezeigt werden sollen. Wenn keine Meldungen mehr angezeigt werden sollen, legen Sie diesen Wert auf 0 (null) fest, oder löschen Sie den Wert.

Verwenden Sie den SharePoint-Projektdienst, wenn Meldungen in das Ausgabefenster einer Erweiterung der SharePoint-Tools geschrieben werden sollen. Weitere Informationen finden Sie unter Verwenden des SharePoint-Projektdiensts.

Wenn die Erweiterung einen SharePoint-Befehl einschließt, können Sie weitere Werte festlegen, um die Problembehandlung des Befehls zu erleichtern. Diese Werte werden in der folgenden Tabelle beschrieben.

Wert

Beschreibung

AttachDebuggerToHostProcess

REG_DWORD. Hiermit wird angegeben, ob ein Dialogfeld angezeigt wird, in dem der Debugger sofort nach dem Start an vssphost4.exe angefügt werden kann. Dies ist hilfreich, wenn der Befehl, für den das Debugging ausgeführt werden soll, direkt nach dem Start von vssphost.exe ausgeführt wird und die Zeit nicht ausreicht, um den Debugger vor dem Ausführen des Befehls manuell anzufügen. Zum Anzeigen des Dialogfelds ruft vssphost4.exe beim Starten die Debugger.Break-Methode auf.

Legen Sie diesen Wert auf 1 fest, um dieses Verhalten zu aktivieren. Legen Sie diesen Wert auf 0 (null) fest, oder löschen Sie den Wert, um dieses Verhalten zu deaktivieren.

Wenn Sie den Wert auf 1 festlegten, empfiehlt es sich, den Wert von HostProcessStartupTimeout zu vergrößern, sodass Sie über ausreichend Zeit zum Anfügen des Debuggers verfügen, bevor Visual Studio von vssphost4.exe der erfolgreiche Start mitgeteilt wird.

ChannelOperationTimeout

REG_DWORD-Wert (in Sekunden), der angibt, wie lange von Visual Studio auf die Ausführung eines SharePoint-Befehls gewartet wird. Wird der Befehl nicht innerhalb des Zeitlimits ausgeführt, wird eine SharePointConnectionException ausgelöst.

Der Standardwert ist 120 Sekunden.

HostProcessStartupTimeout

REG_DWORD-Wert (in Sekunden), der angibt, wie lange von Visual Studio darauf gewartet wird, dass der erfolgreiche Start von "vssphost4.exe" signalisiert wird. Erfolgt innerhalb des Zeitlimits keine Signalisierung des erfolgreichen Starts von "vssphost4.exe", wird eine SharePointConnectionException ausgelöst.

Der Standardwert ist 60 Sekunden.

MaxReceivedMessageSize

REG_DWORD-Wert (in Bytes), der die maximal zulässige Größe für WCF-Meldungen angibt, die von Visual Studio an "vssphost4.exe" (und umgekehrt) übergeben werden.

Der Standardwert ist 1.048.576 Bytes (1 MB).

MaxStringContentLength

REG_DWORD-Wert (in Bytes), der die maximal zulässige Größe für Zeichenfolgen angibt, die von Visual Studio an "vssphost4.exe" (und umgekehrt) übergeben werden.

Der Standardwert ist 1.048.576 Bytes (1 MB).

Siehe auch

Weitere Ressourcen

Erweitern der SharePoint-Tools in Visual Studio

Bereitstellen von Erweiterungen für die SharePoint-Tools in Visual Studio