Partager via


Résoudre les problèmes liés aux VSPackages

S’applique à : Visual Studio

Cet article présente les problèmes courants et les conseils de dépannage avec vos VSPackages.

Un VSPackage empêche Visual Studio de démarrer

Dans ce scénario, démarrez Visual Studio en mode sans échec en entrant devenv.exe /safemode à l’invite de commandes. Pendant ce processus, aucun VSPackage n’est chargé, à l’exception des VSPackages inclus dans Visual Studio.

Un VSPackage n’est pas chargé

Pour résoudre ce problème, essayez une ou plusieurs des étapes suivantes :

  • Vérifiez que vous utilisez la racine du Registre dans laquelle vsPackage est inscrit pour s’exécuter, généralement la racine de Registre expérimentale. Pour plus d’informations, consultez Instance expérimentale.

  • Si VSPackage est destiné à s’exécuter dans la racine du registre expérimental, vérifiez que vous exécutez la version expérimentale de Visual Studio.

    Pour exécuter la version expérimentale, ouvrez une invite de commandes Visual Studio, puis entrez devenv /rootsuffix exp.

  • Vérifiez vos entrées de Registre VSPackage. Pour plus d’informations, consultez Inscription de VSPackages et gestion de VSPackages.

  • Ouvrez la fenêtre Sortie de l’instance de Visual Studio qui ne parvient pas à charger vsPackage. Des informations sur la raison pour laquelle vsPackage ne parvient pas à se charger peuvent s’afficher dans cette fenêtre.

    Note

    Si vous démarrez la version expérimentale de Visual Studio à partir de l’environnement de développement intégré (IDE) Visual Studio, inspectez la fenêtre Sortie des deux versions.

  • Examinez le journal d’activité. Pour plus d’informations, consultez Utilisation du journal d’activité.

  • Pour plus d’informations sur les exceptions levées par l’IDE, sélectionnez Exceptions dans le menu Débogage pour activer les exceptions. Dans la boîte de dialogue Exceptions, sélectionnez les types d’exceptions sur lesquels vous souhaitez plus d’informations.

Un VSPackage n’est pas inscrit

Vérifiez que l’assembly VSPackage réside dans un emplacement approuvé. RegPkg ne peut pas inscrire d’assemblys dans un emplacement non approuvé ou partiellement approuvé, tel qu’un partage réseau dans la configuration de sécurité .NET par défaut. Bien qu’un avertissement s’affiche chaque fois qu’un utilisateur crée un projet dans un emplacement non approuvé, la case à cocher Ne pas afficher à nouveau ce message peut empêcher cet avertissement de se reproduire.

Une commande n’est pas visible ou génère une erreur lorsqu’elle est sélectionnée

Pour résoudre ce problème, procédez comme suit :

  • Fusionnez les commandes de menu nouvelles ou modifiées et ces commandes déjà dans l’IDE en entrant devenv /rootuffix Exp /setup à l’invite de commandes Visual Studio.

  • Vérifiez que Visual Studio peut trouver UI.dll pour votre VSPackage.

    1. Recherchez le CLSID du VSPackage dans la section Packages du Registre :

      HKLM\Software\Microsoft\Visual Studio\<version>\Packages

    2. Vérifiez que le chemin donné par la sous-clé SatelliteDll est correct.

Un VSPackage se comporte de façon inattendue

Pour résoudre ce problème, essayez une ou plusieurs des étapes suivantes :

  • Définissez les points d'arrêt dans votre code.

    Les points de départ appropriés pour le débogage sont le constructeur et la méthode d’initialisation. Vous pouvez également définir des points d’arrêt dans la zone à évaluer, par exemple une commande de menu. Pour activer les points d’arrêt, vous devez exécuter sous le débogueur.

    1. Dans le menu Projet, sélectionnez Propriétés.

    2. Dans la boîte de dialogue Pages de propriétés, sélectionnez l’onglet Débogage .

    3. Dans la zone Arguments de ligne de commande, entrez le suffixe racine de l’environnement de développement que votre VSPackage cible. Par exemple, pour sélectionner la build expérimentale, entrez : /RootSuffix Exp.

    4. Dans le menu Débogage , sélectionnez Démarrer le débogage ou appuyez sur F5.

      Note

      Si vous déboguez un projet, créez ou chargez une instance existante de votre projet maintenant.

  • Utilisez le journal d’activité.

    Tracez le comportement vsPackage en écrivant des informations dans le journal d’activité à des points clés. Cette technique est particulièrement utile lorsque vous exécutez un VSPackage dans un environnement de vente au détail. Pour plus d’informations, consultez Utilisation du journal d’activité.

  • Utilisez des symboles publics.

    Pour améliorer la lisibilité lors du débogage, vous pouvez attacher des symboles au débogueur :

    1. Dans le menu Outils/Options , accédez à la boîte de dialogue Débogage/Symboles .
    2. Ajouter un emplacement de fichier de symboles (.pdb) : https://msdl.microsoft.com/download/symbols.
    3. Pour améliorer les performances, spécifiez un dossier de cache de symboles, par exemple : C :\symbols.

Un VSPackage ou l’une de ses dépendances est manquant

  • Pour le code managé, vérifiez que les chemins d’accès de référence sont corrects.

    1. Dans le menu Projet, sélectionnez Propriétés.

    2. Sélectionnez l’onglet Références dans la boîte de dialogue Pages de propriétés et vérifiez que tous les chemins sont corrects. Vous pouvez également utiliser l’Explorateur d’objets pour rechercher les objets référencés.

      Pour le code managé, vous pouvez utiliser la Fuslogvw.exe (Visionneuse du journal de liaison d’assembly) pour afficher les détails des chargements d’assembly ayant échoué.

  • Pour le code non managé, recherchez le CLSID du VSPackage dans le nœud de Registre CLSID Visual Studio :

    HKLM\Software\Microsoft\Visual Studio\<version>\CLSID

    Vérifiez que l’entrée InprocServer32 a le chemin d’accès correct de la DLL VSPackage.

References