Freigeben über


Debuggen von SharePoint-Lösungen.

SharePoint-Lösungen können mithilfe des Visual Studio-Debuggers gedebuggt werden. Wenn Sie mit dem Debuggen beginnen, stellt Visual Studio die Projektdateien auf dem SharePoint-Server bereit und öffnet dann im Webbrowser eine Instanz der SharePoint-Website. In den folgenden Abschnitte wird erklärt, wie SharePoint-Anwendungen in Visual Studio gedebuggt werden.

Aktivieren des Debuggings

Wenn Sie eine SharePoint-Lösung in Visual Studio erstmals debuggen, werden Sie in einem Dialogfeld darauf hingewiesen, dass die Datei web.config nicht zum Aktivieren des Debuggens konfiguriert ist. (Die Datei „web.config“ wird beim Installieren des SharePoint-Servers erstellt. Weitere Informationen finden Sie unter Arbeiten mit „web.config“-Dateien.) Im Dialogfeld können Sie entweder das Projekt ohne Debuggen ausführen oder die Datei „web.config“ ändern, um das Debuggen zu aktivieren. Wenn Sie die erste Option auswählen, wird das Projekt normal ausgeführt. Bei Auswahl der zweiten Option wird die Datei "web.config" für Folgendes konfiguriert:

  • Aktivieren der Aufrufliste (CallStack="true")

  • Deaktivieren von benutzerdefinierten Fehlern in Visual Studio (<customErrors mode="Off" />)

  • Aktivieren von Kompilierungsdebugging (<compilation debug="true">)

    Die resultierende Datei web.config sieht wie folgt aus:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <configuration>
        ...
        <SharePoint>
            <SafeMode MaxControls="200"
                CallStack="true"
                DirectFileDependencies="10"
                TotalFileDependencies="50"
                AllowPageLevelTrace="false">
                ...
            </SafeMode>
        ...
        </SharePoint>
        <system.web>
            ...
            <customErrors mode="Off" />
            ...
            <compilation debug="true">
            ...
            </compilation>
            ...
        </system.web>
        ...
    </configuration>

Wenn Sie die Änderungen zurücksetzen und das Debuggen deaktivieren möchten, ändern Sie den folgenden XML-Code in der Datei „web.config“:

  • Deaktivieren der Aufrufliste (CallStack="false")

  • Aktivieren von benutzerdefinierten Fehlern in Visual Studio (<customErrors mode="On" />)

  • Deaktivieren von Kompilierungsdebugging (<compilation debug="false">)

F5-Debug- und Bereitstellungsprozess

Wenn Sie das SharePoint-Projekt im Debugmodus ausführen, werden im SharePoint-Bereitstellungsprozess die folgenden Aufgaben ausgeführt:

  1. Die anpassbaren Befehle vor der Bereitstellung werden ausgeführt.

  2. Es wird eine Weblösungspaketdatei (WSP) mithilfe von MSBuild-Befehlen erstellt. Die WSP-Datei enthält alle erforderlichen Dateien und Funktionen. Weitere Informationen finden Sie in der Übersicht über Lösungen.

  3. Wenn die SharePoint-Lösung eine Farmlösung ist, wird der IIS-Anwendungspool für die angegebene Website-URL wiederverwendet. In diesem Schritt werden vom IIS-Arbeitsprozess gesperrte Dateien freigegeben.

  4. Wenn bereits eine frühere Version des Pakets vorhanden ist, wird die frühere Version der Funktionen und Dateien in der WSP-Datei zurückgenommen. In diesem Schritt werden die Funktionen deaktiviert, das Lösungspaket deinstalliert und anschließend das Lösungspaket auf dem SharePoint-Server gelöscht.

  5. Die aktuelle Version der Funktionen und Dateien in der WSP-Datei wird installiert. In diesem Schritt wird die Lösung auf dem SharePoint-Server hinzugefügt und installiert.

  6. Für Workflows wird die Workflowassembly installiert. Sie können den Speicherort ändern, indem Sie die Eigenschaft Assemblyspeicherort verwenden.

  7. Die Funktion des Projekts wird in SharePoint aktiviert, wenn der Gültigkeitsbereich Website oder Web ist. Funktionen in den Gültigkeitsbereichen Farm und WebApplication werden nicht aktiviert.

  8. Bei Workflows wird der Workflow der SharePoint-Bibliothek, der Liste oder der Website zugeordnet, die im Assistenten zum Anpassen von SharePoint ausgewählt wurde.

    Hinweis

    Diese Zuordnung tritt nur auf, wenn Sie im Assistenten Workflow automatisch zuordnen ausgewählt haben.

  9. Die anpassbaren Befehle nach der Bereitstellung werden ausgeführt.

  10. Fügt den Visual Studio-Debugger an den Windows SharePoint Services-Prozess (w3wp.exe) an. Wenn der Projekttyp das Ändern der Sandkastenlösung-Eigenschaft zulässt und der Wert auf TRUE festgelegt wird, fügt der Debugger einen anderen Prozess (SPUCWorkerProcess.exe) an. Weitere Informationen finden Sie unter Überlegungen zu Sandkastenlösungen.

  11. Der JavaScript-Debugger wird gestartet, wenn die SharePoint-Lösung eine Farmlösung ist.

  12. Die entsprechende Bibliothek, Liste oder Websiteseite wird im Webbrowser an.

    Visual Studio zeigt nach der Ausführung der einzelnen Aufgaben eine Statusmeldung im Ausgabefenster an. Wenn eine Aufgabe nicht abgeschlossen werden kann, zeigt Visual Studio eine Fehlermeldung im Fenster Fehlerliste an.

SharePoint-Projektfunktionen

Bei einer Funktion handelt es sich um eine portable und modulare Funktionseinheit, die das Ändern von Websites mithilfe von Websitedefinitionen vereinfacht. Eine Funktion ist außerdem ein Paket aus WSS-Elementen (Windows SharePoint Services), das für einen bestimmten Gültigkeitsbereich aktiviert werden kann und Benutzer*innen beim Erreichen eines bestimmten Ziels bzw. beim Ausführen einer Aufgabe unterstützt. Vorlagen werden als Funktionen bereitgestellt.

Beim Ausführen eines Projekts im Debugmodus wird im Bereitstellungsprozess ein Ordner im Verzeichnis feature unter %COMMONPROGRAMFILES%\Microsoft Shared\web server extensions\14\TEMPLATE\FEATURES erstellt. Funktionsnamen weisen das Format Projektname_Featurexauf, z. B. TestProject_Feature1.

Der Ordner der Projektmappe im Funktionsverzeichnis beinhaltet eine Datei für Funktionsdefinition und eine Datei für Workflowdefinition. Die Funktionsdefinitionsdatei („feature.xml“) beschreibt die Dateien in der Projektfunktion. Die Projektdefinitionsdatei (elements.xml) beschreibt die Projektvorlage. Die Datei elements.xml befindet sich im Projektmappen-Explorer, die Datei „feature.xml“ wird dagegen beim Erstellen des Lösungspakets generiert. Weitere Informationen zu diesen Dateien finden Sie unter SharePoint-Projekt- und Projektelementvorlagen.

Debuggen von Workflows

Wenn Sie Workflowprojekte debuggen, fügt Visual Studio die Workflowvorlage (abhängig von deren Typ) einer Bibliothek oder einer Liste hinzu. Sie können dann die Workflowvorlage manuell oder durch Hinzufügen oder Aktualisieren eines Elements starten. Anschließend können Sie Visual Studio verwenden, um den Workflow zu debuggen.

Hinweis

Wenn Sie anderen Assemblys Verweise hinzufügen, stellen Sie sicher, dass diese Assemblys im globalen Assemblycache (GAC) installiert werden. Andernfalls tritt bei der Workflowlösung ein Fehler auf. Weitere Informationen zum Installieren von Assemblys finden Sie im Thema Manuelles Starten eines Workflows für ein Dokument oder ein Element.

Der Workflow wird jedoch nicht vom Bereitstellungsprozess gestartet. Der Workflow muss von der SharePoint-Site gestartet werden. Der Workflow kann auch mithilfe einer Clientanwendung wie Microsoft Office Word 2010 oder mithilfe eines gesonderten serverseitigen Codes gestartet werden. Verwenden Sie einen der im Assistenten zum Anpassen von SharePoint angegebenen Ansätze.

Wenn Sie beispielsweise angegeben haben, dass der Workflow manuell gestartet werden kann, starten Sie den Workflow direkt vom Element in der Bibliothek oder der Liste. Weitere Informationen zum manuellen Starten eines Workflows finden Sie unter Manuelles Starten eines Workflows für ein Dokument oder ein Element.

Debuggen von Funktionsereignisempfängern

Wenn Sie eine Visual Studio-SharePoint-Anwendung ausführen, werden deren Funktionen standardmäßig automatisch auf dem SharePoint-Server aktiviert. Dies verursacht jedoch Probleme, wenn Sie Funktionsereignisempfänger debuggen, da eine von Visual Studio aktivierte Funktion in einem anderen Prozess ausgeführt wird als der Debugger. Dies bedeutet, dass einige Debugfunktionen, z. B. Haltepunkte, nicht ordnungsgemäß funktionieren.

Wenn Sie die automatische Aktivierung der Funktion in SharePoint deaktivieren und das ordnungsgemäße Debuggen von Funktionsereignisempfängern ermöglichen möchten, legen Sie vor dem Debuggen den Wert der Eigenschaft Aktive Bereitstellungskonfiguration des Projekts auf Keine Aktivierung fest. Wenn Sie Ihre SharePoint-Anwendung dann in Visual Studio debuggen, aktivieren Sie die Funktion manuell in SharePoint. Klicken Sie zum Aktivieren der Funktion in SharePoint im Menü Websiteaktionen auf Websiteeinstellungen, klicken Sie auf den Link Websitefunktionen verwalten, und klicken Sie dann neben der Funktion auf die Schaltfläche Aktivieren, um das Debuggen dann normal fortzusetzen.

Aktivieren von erweiterten Debuginformationen

Aufgrund der manchmal komplexen Interaktionen zwischen dem Visual Studio-Prozess (devenv.exe), dem Visual Studio-SharePoint-Hostprozess (vssphost4.exe), SharePoint und der WCF-Ebene kann das Diagnostizieren von Fehlern, die beim Erstellen, Bereitstellen usw. auftreten, schwierig sein. Um Unterstützung beim Beheben solcher Fehler zu erhalten, können Sie erweiterte Debuginformationen aktivieren. Wechseln Sie hierzu in die Windows-Registrierung zum folgenden Registrierungsschlüssel:

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\SharePointTools

Wenn der REG_DWORD-Wert „EnableDiagnostics“ nicht bereits vorhanden ist, erstellen Sie ihn manuell. Legen Sie den „EnableDiagnostics“-Wert auf „1“ fest.

Wenn dieser Schlüsselwert auf „1“ festgelegt wird, werden Stapelüberwachungsinformationen im Fenster Ausgabe angezeigt, wenn bei der Ausführung in Visual Studio Projektsystemfehler auftreten. Legen Sie "EnableDiagnostics" wieder auf 0 fest oder löschen ihn, um erweiterte Debuginformationen zu deaktivieren.

Weitere Informationen zu anderen SharePoint-Registrierungsschlüsseln finden Sie unter Debuggen von Erweiterungen für die SharePoint-Tools in Visual Studio.