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 résolution des problèmes liés à 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 à une 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 le VSPackage est inscrit pour s’exécuter, généralement la racine de Registre expérimentale. Pour plus d’informations, consultez L’instance expérimentale.

  • Si le VSPackage est destiné à s’exécuter à 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 des VSPackages.

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

    Remarque

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

  • Examinez le journal d’activité. Pour plus d’informations, consultez Guide pratique pour utiliser le journal d’activité.

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

Un VSPackage n’est pas inscrit

Assurez-vous 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 plus afficher ce message peut empêcher que cet avertissement ne se reproduise.

Une commande n’est pas visible ou génère une erreur quand 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 les commandes déjà présentes dans l’IDE en entrant devenv /rootsuffix Exp /setup à l’invite de commandes Visual Studio.

  • Assurez-vous 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 d’accès fourni par la sous-clé SatelliteDll est correct.

Un VSPackage se comporte de manière inattendue

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

  • Définissez des points d’arrêt dans votre code.

    Les bons points de départ 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 que vous souhaitez é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éboguer .

    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éboguer , sélectionnez Démarrer le débogage ou appuyez sur F5.

      Remarque

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

  • Utilisez le journal d’activité.

    Suivez le comportement de 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 Guide pratique pour utiliser le 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 l’emplacement du fichier de symbole (.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é, assurez-vous 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’assemblys 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