Partager via


Déboguer des solutions SharePoint

Vous pouvez déboguer des solutions SharePoint à l’aide du débogueur Visual Studio. Lorsque vous démarrez le débogage, Visual Studio déploie les fichiers 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.

Activer le débogage

Lorsque vous déboguez une solution SharePoint dans Visual Studio, une boîte de dialogue vous avertit que le fichier web.config n’est pas configuré pour activer le débogage. (Le fichier web.config est créé lors de l’installation du serveur SharePoint. Pour plus d’informations, consultez Utilisation des fichiers Web.config). La boîte de dialogue vous donne la possibilité d’exécuter le projet sans débogage ou de modifier le fichier web.config pour activer le débogage. Si vous choisissez la première option, le projet s’exécute normalement. Si vous choisissez la deuxième option, le fichier web.config est configuré pour :

  • 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 résultant s’en suit :

<?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 inverser les modifications et désactiver le débogage, modifiez le code XML suivant dans le fichier web.config :

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

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

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

Processus de débogage et de déploiement F5

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

  1. Exécute les commandes de prédéploiement personnalisables.

  2. Crée un fichier de package de solution web (.wsp) à l’aide de commandes MSBuild. Le fichier .wsp inclut tous les 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 de serveurs, recycle le pool d’applications IIS pour l’URL de site spécifiée. Cette étape libère les fichiers verrouillés par le processus Worker IIS.

  4. Si une version précédente du package existe déjà, retire la version précédente des fonctionnalités et des fichiers dans le fichier .wsp. Cette étape désactive les fonctionnalités, désinstalle le package de solution, puis supprime le package de solution sur le serveur SharePoint.

  5. 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. Pour les flux de travail, installe l’assembly de flux de travail. Vous pouvez modifier son emplacement à l’aide de la propriété Emplacement de l’assembly.

  7. Active la fonctionnalité du projet dans SharePoint si l’étendue est Site ou Web. Les fonctionnalités de la batterie de serveurs et des étendues WebApplication ne sont pas activées.

  8. Pour les flux de travail, 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

    Cette association se produit uniquement si vous avez sélectionné Associer automatiquement le flux de travail dans l’Assistant.

  9. Exécute les commandes post-déploiement personnalisables.

  10. Attache le débogueur Visual Studio au processus Windows SharePoint Services (w3wp.exe). Si le type de projet vous permet de modifier la propriété Solution en bac à sable et que sa valeur est définie sur true, le débogueur s’attache à un autre processus (SPUCWorkerProcess.exe). Pour plus d’informations, consultez Considérations relatives aux solutions bac à sable (sandbox).

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

  12. 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 une fois chaque tâche terminée. Si une tâche ne peut pas être terminée, Visual Studio affiche un message d’erreur dans la fenêtre Liste d’erreurs.

Fonctionnalités du projet SharePoint

Une fonctionnalité est une unité portable et modulaire de caractéristiques qui simplifie la modification des sites à l’aide de 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 étendue spécifique et qui permet aux utilisateurs d’atteindre un objectif ou une tâche en particulier. Les modèles sont déployés en tant que 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 dans %COMMONPROGRAMFILES%\Microsoft Shared\web server extensions\14\TEMPLATE\FEATURES. Les noms de fonctionnalités ont le format nom_projet_Featurex, par exemple TestProject_Feature1.

Le dossier de la solution dans le répertoire des 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 du Feature du projet. Le fichier de définition de projet (Elements.xml) décrit le modèle de projet. Elements.xml se trouve dans l’Explorateur de solutions, mais Feature.xml est généré lors de la création du package de solution. Pour plus d’informations, consultez Modèles de projet et d’élément de projet SharePoint.

Déboguer des workflows

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

Remarque

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

Toutefois, le processus de déploiement ne démarre pas 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 à l’aide d’une application cliente telle que Microsoft Office Word 2010 ou en utilisant du code distinct côté serveur. Utilisez l’une des approches spécifié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 le flux de travail directement à 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émarrer manuellement un flux de travail sur un élément de document.

Ajouter des récepteurs d'événements de fonctionnalités

Par défaut, lorsque vous exécutez une application Visual Studio SharePoint, ses fonctionnalités sont automatiquement activées pour vous sur le serveur SharePoint. Toutefois, cela provoque des problèmes lorsque vous déboguez des récepteurs d’événements de fonctionnalité, car lorsqu’une fonctionnalité est activée par Visual Studio, elle 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 fonctionnent pas correctement.

Pour désactiver l’activation automatique de la fonctionnalité dans SharePoint et autoriser le débogage approprié des récepteurs d’événements de fonctionnalité, définissez la valeur de la propriété Configuration du déploiement actif du projet sur Aucune activation avant le débogage. Ensuite, après avoir commencé à déboguer votre application SharePoint dans Visual Studio, activez manuellement la fonctionnalité dans SharePoint. Pour activer la fonctionnalité, ouvrez le menu Actions du site dans SharePoint, choisissez Paramètres du site, cliquez sur le lien Gérer les fonctionnalités du site, puis cliquez sur le bouton Activer en regard de la fonctionnalité, pour poursuivre le débogage comme d’habitude.

Activer les informations de débogage améliorées

En raison des interactions parfois complexes entre le processus Visual Studio (devenv.exe), le processus hôte Visual Studio SharePoint (vssphost4.exe), SharePoint et la couche WCF, le diagnostic des erreurs qui se produisent lors de la génération, du déploiement, etc. peut se montrer difficile. Pour vous aider à résoudre ces erreurs, vous pouvez activer des informations de débogage améliorées. Pour ce faire, accédez à la clé de Registre suivante dans le Registre Windows :

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\SharePointTools

Si la valeur REG_DWORD « EnableDiagnostics » n’existe pas déjà, créez-la manuellement. Définissez la valeur « EnableDiagnostics » sur « 1 ».

Si vous affectez la valeur 1 à cette clé, les informations de trace de pile s’affichent dans la fenêtre Sortie chaque fois que des erreurs système de projet se produisent pendant l’exécution dans Visual Studio. Pour désactiver les informations de débogage améliorées, définissez EnableDiagnostics sur 0 ou supprimez la valeur.

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