Partager via


Débogage de solutions SharePoint

Vous pouvez déboguer des solutions SharePoint au moyen du débogueur Visual Studio. Lorsque vous lancez la procédure de débogage, Visual Studio déploie les fichiers de projet sur le serveur SharePoint, puis ouvre une instance du site SharePoint dans le navigateur Web. Les sections suivantes expliquent comment déboguer des applications SharePoint dans Visual Studio.

  • Activation du débogage

  • Débogage F5 et processus de déploiement

  • Fonctionnalités de projet SharePoint

  • Débogage de flux de travail

  • Débogage des récepteurs d'événements de fonctionnalité

  • Activation des informations de débogage avancé

Activation du débogage

La première fois que vous déboguez une solution SharePoint dans Visual Studio, une boîte de dialogue vous informe que le fichier web.config. n'est pas configuré pour activer le débogage. Ce fichier est créé au moment de l'installation du serveur SharePoint. Pour plus d'informations, consultez Utiliser des fichiers Web.config. La boîte de dialogue vous donne le choix entre deux options : exécuter le projet sans débogage ou modifier le fichier web.config. pour activer le débogage. Dans le premier cas, le projet s'exécute normalement. Dans le deuxième cas, le fichier web.config. est configuré de façon à :

  • Activer la pile des appels (CallStack="true")

  • Désactiver les erreurs personnalisées dans Visual Studio(<customErrors mode="Off" />)

  • Activer le débogage de compilation (<compilation debug="true">)

Le fichier web.config. qui en résulte est le suivant :

<?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>

Pour annuler les modifications et désactiver le débogage, modifiez le XML suivant dans le fichier web.config. :

  • Désactivez la pile des appels (CallStack="false")

  • Activez les erreurs personnalisées dans Visual Studio(<customErrors mode="On" />)

  • Désactivez le débogage de compilation (<compilation debug="false">)

Débogage F5 et processus de déploiement

Lorsque vous exécutez votre projet SharePoint en mode débogage, le processus de déploiement SharePoint effectue les tâches suivantes :

  1. Il exécute les commandes de prédéploiement personnalisables.

  2. Il crée un fichier de package de solution Web (.wsp) à l'aide des commandes MSBuild. Le fichier .wsp comprend l'ensemble des fichiers et fonctionnalités nécessaires. Pour plus d'informations, consultez Vue d'ensemble des solutions.

  3. Si la solution SharePoint est une solution de batterie, il recycle le pool d'applications IIS pour le site URL spécifié. Cette étape permet de libérer les fichiers verrouillés par le processus de travail IIS.

  4. S'il existe une version antérieure du package, il retire la version précédente des fonctionnalités et des fichiers dans le fichier .wsp. Cette étape a pour effet de désactiver les fonctionnalités, de désinstaller le package de solution, puis de supprimer le package de solution sur le serveur SharePoint.

  5. Il installe la version actuelle des fonctionnalités et des fichiers dans le fichier .wsp. Cette étape ajoute et installe la solution sur le serveur SharePoint.

  6. Dans le cas des flux de travail, il installe l'assembly de flux de travail. Vous pouvez modifier son emplacement à l'aide de la propriété Assembly Location.

  7. Il active la fonctionnalité du projet dans SharePoint si la portée correspond à Site ou Web. Les fonctionnalités des portées Batterie et WebApplication ne sont pas activées.

  8. Pour les flux de travail, il associe le flux de travail à la bibliothèque, à la liste ou au site SharePoint que vous avez sélectionné dans l'Assistant Personnalisation de SharePoint.

    Notes

    Cela n'est possible que si vous avez sélectionné Associer automatiquement le flux de travail dans l'Assistant.

  9. Il exécute les commandes de post-déploiement personnalisables.

  10. Joint le débogueur Visual Studio au processus Windows SharePoint Services (w3wp.exe). Si le type de projet vous permet de modifier la propriété Sandboxed Solution et que la valeur configurée est true, le débogueur est joint à un autre processus (SPUCWorkerProcess.exe). Pour plus d'informations, consultez Considérations sur les solutions bac à sable (sandbox).

  11. Il démarre le débogueur JavaScript si la solution SharePoint est une solution de batterie.

  12. Il affiche la bibliothèque, la liste ou la page de site appropriée dans le navigateur Web.

Visual Studio affiche un message d'état dans la fenêtre Sortie à l'issue de chaque tâche. Lorsqu'une tâche ne peut pas être effectuée, Visual Studio affiche un message d'erreur dans la fenêtre Liste d'erreurs.

Fonctionnalités de projet SharePoint

Une fonctionnalité est une unité portable et modulaire de fonctionnalités qui simplifient la modification de sites via des définitions de site. Il s'agit également d'un package d'éléments Windows SharePoint Services (WSS) qui peuvent être activés pour une portée spécifique et qui permettent à des utilisateurs de réaliser une tâche ou un objectif particulier. Les modèles sont déployés comme des fonctionnalités.

Lorsque vous exécutez un projet en mode débogage, le processus de déploiement crée un dossier dans le répertoire de fonctionnalités sous %COMMONPROGRAMFILES%\Microsoft Shared\web server extensions\14\TEMPLATE\FEATURES. Les noms des fonctionnalités respectent le format suivant : nom du projet_Featurex (comme dans TestProjet_Feature1).

Le dossier de la solution dans le répertoire de fonctionnalités contient un fichier de définition de fonctionnalité et un fichier de définition de flux de travail. Le fichier de définition de fonctionnalité (Feature.xml) décrit les fichiers dans la fonctionnalité du projet.Le fichier de définition de projet (Elements.xml) décrit le modèle de projet. Elements.xml peut être localisé dans l'Explorateur de solutions, mais Feature.xml est généré au moment de la création du package de solution. Pour plus d'informations sur ces fichiers, consultez Modèles de projets et d'éléments de projet SharePoint.

Débogage de flux de travail

Lorsque vous déboguez des projets de flux de travail, Visual Studio ajoute le modèle de flux de travail (selon son type) à une bibliothèque ou à une liste. Vous pouvez démarrer ensuite le modèle de flux de travail de façon manuelle ou en ajoutant ou mettant à jour un élément. Il suffit ensuite d'utiliser Visual Studio pour déboguer le flux de travail.

Notes

Si vous ajoutez des références à d'autres assemblys, assurez-vous que ces assemblys sont installés dans le Global Assembly Cache (GAC). Sinon, la solution de flux de travail échouera. Pour plus d'informations sur l'installation d'assemblys, consultez Démarrer manuellement un flux de travail sur un document ou un élément.

Le processus de déploiement n'a pas pour effet de lancer le flux de travail. Vous devez démarrer le flux de travail à partir du site Web SharePoint. Vous pouvez également démarrer le flux de travail en utilisant une application cliente telle que Microsoft Office Word 2007 ou en utilisant du code distinct côté serveur. Utilisez l'une des approches indiquées dans l'Assistant Personnalisation de SharePoint.

Par exemple, si vous avez spécifié que le flux de travail peut être démarré manuellement, démarrez directement le flux de travail à partir de l'élément de la bibliothèque ou de la liste. Pour plus d'informations sur le démarrage manuel d'un flux de travail, consultez Démarrage manuel d'un flux de travail sur un élément de document (page éventuellement en anglais).

Débogage des récepteurs d'événements de fonctionnalité

Par défaut, lorsque vous exécutez une application SharePoint Visual Studio, ses fonctionnalités sont automatiquement activées sur le serveur SharePoint. Toutefois, cela pose des problèmes si vous déboguez des récepteurs d'événements de fonctionnalité. En effet, une fonctionnalité activée par Visual Studio s'exécute dans un processus différent du débogueur. Cela signifie que certaines fonctionnalités de débogage, telles que les points d'arrêt, ne fonctionneront pas correctement.

Pour désactiver l'activation automatique de la fonctionnalité dans SharePoint et permettre un débogage approprié des récepteurs d'événements de fonctionnalité, affectez à la propriété Configuration de déploiement active du projet la valeur Aucune activation avant de procéder au débogage. Activez ensuite manuellement la fonctionnalité dans SharePoint pendant que l'application SharePoint Visual Studio est en cours d'exécution. Pour ce faire, cliquez sur Paramètres du site dans le menu Actions du site dans SharePoint, cliquez sur le lien Gérer les fonctionnalités du site, puis sur le bouton Activer en regard de la fonctionnalité et reprenez le débogage de façon normale.

Activation des informations de débogage avancé

En raison des interactions parfois complexes entre le processus Visual Studio (devenv.exe), le processus hôte Sharepoint Visual Studio (vssphost4.exe), SharePoint et la couche WCF, il n'est pas toujours facile de diagnostiquer les erreurs qui se produisent lors de la génération, du déploiement ou d'autres phases. Pour résoudre plus facilement ce type d'erreur, vous pouvez activer les informations de débogage avancé. Pour cela, accédez à la clé de Registre suivante dans le Registre Windows :

[HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\SharePointTools]

Modifiez la valeur de clé « EnableDiagnostics » de « 0 » en « 1 ».

Lorsque la valeur de clé est 1, les informations de trace de pile s'affichent dans la fenêtre Sortie à chaque fois qu'une erreur de système de projet se produit lorsque vous exécutez Visual Studio. Pour désactiver les informations de débogage avancé, rétablissez la valeur 0 pour EnableDiagnostics.

Pour plus d'informations sur les autres clés de Registre SharePoint, consultez Débogage d'extensions pour les outils SharePoint dans Visual Studio.

Voir aussi

Concepts

Dépannage des solutions SharePoint