Partager via


Débogage d'extensions pour les outils SharePoint dans Visual Studio

Vous pouvez déboguer des extensions d'outils SharePoint dans l'instance expérimentale ou l'instance normale de Visual Studio. Si vous devez résoudre les problèmes liés au comportement d'une extension, vous pouvez également modifier les valeurs de Registre pour afficher d'autres informations d'erreur et configurer la manière dont Visual Studio exécute les commandes SharePoint.

Débogage d'extensions dans une instance expérimentale de Visual Studio

Pour protéger votre environnement de développement Visual Studio de toute corruption accidentelle provoquée par des extensions non testées, le Kit de développement Visual Studio SDK fournit une autre instance Visual Studio appelée instance expérimentale, que vous pouvez utiliser pour installer et tester les extensions. Vous développez de nouvelles extensions à l'aide de l'instance normale de Visual Studio, mais vous les déboguez et les exécutez dans l'instance expérimentale. Pour plus d'informations, consultez Experimental Instance of Visual Studio.

Si vous utilisez un projet VSIX pour déployer votre extension, et que le projet VSIX est le projet de démarrage dans votre solution, Visual Studio installe et exécute automatiquement l'extension dans l'instance expérimentale lorsque vous déboguez votre solution. Le projet de démarrage est le projet qui démarre lorsque vous déboguez une solution contenant plusieurs projets. Pour plus d'informations sur l'utilisation d'un projet de VSIX afin de déployer votre extension, consultez Déploiement d'extensions pour les outils SharePoint dans Visual Studio. Pour plus d'informations sur les projets de démarrage, consultez Comment : choisir le projet de démarrage.

Pour obtenir des exemples qui illustrent le mode de débogage des différents types d'extensions dans l'instance expérimentale de Visual Studio, consultez les procédures pas à pas suivantes :

Débogage d'extensions dans l'instance normale de Visual Studio

Si vous souhaitez déboguer votre projet d'extension dans l'instance normale de Visual Studio, commencez par installer l'extension dans l'instance normale. Ensuite, attachez le débogueur à un deuxième processus Visual Studio. Une fois que vous avez terminé, vous pouvez supprimer l'extension afin qu'elle ne se charge plus sur l'ordinateur de développement.

Pour installer l'extension

  1. Fermez toutes les instances de Visual Studio.

  2. Dans le dossier de sortie de la génération pour le projet d'extension, double-cliquez sur le fichier .vsix.

  3. Dans la boîte de dialogue Programme d'installation des extensions Visual Studio , sélectionnez l'édition de Visual Studio dans laquelle vous voulez installer l'extension, puis cliquez sur Installer.

    Visual Studio installe les fichiers d'extension dans %UserProfile%\AppData\Local\Microsoft\VisualStudio\10.0\Extensions\nom_auteur\nom_extension\version. Les trois derniers dossiers de ce chemin d'accès sont définis à partir des éléments Author, Name et Version dans le fichier extension.vsixmanifest pour l'extension.

  4. Une fois que Visual Studio a installé l'extension, cliquez sur Fermer.

Pour déboguer l'extension

  1. Démarrez Visual Studio avec les privilèges d'administrateur et ouvrez le projet d'extension. Les étapes suivantes font référence à cette instance de Visual Studio comme la première instance.

  2. Démarrez une autre instances de Visual Studio avec les privilèges d'administrateur. Les étapes suivantes font référence à cette instance de Visual Studio comme la deuxième instance.

  3. Basculez vers la première instance de Visual Studio.

  4. Dans le menu Déboguer, cliquez sur Attacher au processus.

  5. Dans la liste Processus disponibles, cliquez sur devenv.exe. Cette entrée fait référence à la deuxième instance de Visual Studio, c'est-à-dire celle dans laquelle vous souhaitez déboguer votre extension de projet.

  6. Cliquez sur Attacher.

    Visual Studio exécute le projet d'extension en mode débogage.

  7. Basculez vers la deuxième instance de Visual Studio.

  8. Créez un projet SharePoint qui charge votre extension. Par exemple, si vous déboguez une extension pour des éléments de projet de définition de liste, créez un projet Définition de liste.

  9. Exécutez les étapes requises pour tester votre code d'extension.

  10. Lorsque vous avez terminé le débogage de l'extension, fermez la deuxième instance de Visual Studio.

Pour supprimer l'extension

  1. Dans le menu Outils de Visual Studio, cliquez sur Gestionnaire d'extensions.

    La boîte de dialogue Gestionnaire d'extensions s'ouvre.

  2. Dans la liste d'extensions, cliquez sur le nom de l'extension, puis sur Désinstaller.

  3. Dans la boîte de dialogue qui s'affiche, cliquez sur Oui pour confirmer que vous voulez désinstaller l'extension.

  4. Cliquez sur Redémarrer maintenant pour terminer l'installation.

Débogage des commandes SharePoint

Si vous souhaitez déboguer une commande SharePoint qui fait partie d'une extension d'outils SharePoint, vous devez attacher le débogueur au processus vssphost4.exe. Il s'agit d'un processus hôte 64 bits qui exécute des commandes SharePoint. Pour plus d'informations sur les commandes SharePoint et vssphost4.exe, consultez Appel des modèles d'objet SharePoint.

Pour attacher le débogueur au processus vssphost4.exe

  1. Commencez à déboguer votre extension dans l'instance expérimentale ou l'instance standard de Visual Studio en suivant les instructions ci-dessus.

  2. Dans l'instance de Visual Studio où vous exécutez le débogueur, dans le menu Déboguer, cliquez sur Attacher au processus.

  3. Dans la liste Processus disponibles, cliquez sur vssphost.exe.

    Notes

    Si vssphost.exe ne s'affiche pas dans la liste, vous devez démarrer le processus vssphost4.exe traitent dans l'instance de Visual Studio où vous exécutez l'extension. En général, vous effectuez cette opération en exécutant une action qui permet de connecter Visual Studio au site SharePoint sur l'ordinateur de développement. Par exemple, Visual Studio démarre vssphost4.exe lorsque vous développez un nœud de connexion de site (nœud qui affiche une URL de site) sous le nœud Connexions SharePoint dans la fenêtre Explorateur de serveurs, ou lorsque vous ajoutez certains éléments de projet SharePoint, tels que des éléments Instance de liste ou Récepteur d'événements, à un projet SharePoint.

  4. Cliquez sur Attacher.

  5. Dans l'instance de Visual Studio en cours de débogage, effectuez les opérations qui sont nécessaires à l'exécution de votre commande.

Modification des valeurs de Registre pour faciliter le débogage des extensions d'outils SharePoint

Lorsque vous déboguez une extension des outils SharePoint dans Visual Studio, vous pouvez modifier des valeurs dans le Registre pour faciliter le dépannage de l'extension. Les valeurs se trouvent sous la clé HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\SharePointTools. Ces valeurs n'existent pas par défaut.

Pour faciliter le dépannage de n'importe quelle extension des outils SharePoint, vous pouvez définir la valeur EnableDiagnostics. Le tableau suivant décrit cette valeur.

Valeur

Description

EnableDiagnostics

REG_DWORD qui spécifie si les messages de diagnostic sont affichés dans la fenêtre Sortie.

Pour afficher les messages de diagnostic, remplacez cette valeur par 1. Pour arrêter l'affichage des messages, définissez cette valeur à 0 ou supprimez-la.

Pour écrire des messages dans la fenêtre Sortie d'une extension d'outils SharePoint, utilisez le service de projet SharePoint. Pour plus d'informations, consultez Utilisation du service de projet SharePoint.

Si votre extension inclut une commande SharePoint, vous pouvez définir des valeurs supplémentaires pour faciliter le dépannage de la commande. Le tableau suivant décrit ces valeurs.

Valeur

Description

AttachDebuggerToHostProcess

REG_DWORD qui spécifie si une boîte de dialogue permettant d'attacher le débogueur à vssphost4.exe dès son démarrage doit s'afficher. Ce comportement est utile si la commande que vous souhaitez déboguer est exécutée par vssphost.exe immédiatement après son démarrage et si vous ne disposez pas de suffisamment de temps pour attacher manuellement le débogueur avant l'exécution de la commande. Pour afficher la boîte de dialogue, vssphost4.exe appelle la méthode Debugger.Break lorsqu'il démarre.

Pour activer ce comportement, définissez cette valeur à 1. Pour désactiver ce comportement, définissez cette valeur à 0 ou supprimez-la.

Si vous définissez cette valeur à 1, vous pouvez également augmenter la valeur HostProcessStartupTimeout de façon à avoir le temps d'attacher le débogueur avant que vssphost4.exe ne soit censé signaler à Visual Studio qu'il a démarré correctement.

ChannelOperationTimeout

REG_DWORD qui spécifie la durée, en secondes, pendant laquelle Visual Studio attend qu'une commande SharePoint s'exécute. Si la commande ne s'exécute pas à l'heure, une SharePointConnectionException est levée.

La valeur par défaut est 120 secondes.

HostProcessStartupTimeout

REG_DWORD qui spécifie la durée, en secondes, pendant laquelle Visual Studio attend que vssphost4.exe signale qu'il a démarré. Si vssphost4.exe ne signale pas de démarrage réussi à l'heure, une SharePointConnectionException est levée.

La valeur par défaut est 60 secondes.

MaxReceivedMessageSize

REG_DWORD qui spécifie la taille maximale autorisée, en octets, des messages WCF passés entre Visual Studio et vssphost4.exe.

La valeur par défaut est 1 048 576 octets (1 Mo).

MaxStringContentLength

REG_DWORD qui spécifie la taille maximale autorisée, en octets, des chaînes WCF passées entre Visual Studio et vssphost4.exe.

La valeur par défaut est 1 048 576 octets (1 Mo).

Voir aussi

Autres ressources

Extension des outils SharePoint dans Visual Studio

Déploiement d'extensions pour les outils SharePoint dans Visual Studio