Condividi tramite


Risolvere i problemi relativi ai pacchetti VSPackage

Si applica a: Visual Studio

Questo articolo presenta problemi comuni e suggerimenti per la risoluzione dei problemi con i pacchetti VSPackage.

Un VSPackage impedisce l'avvio di Visual Studio

In questo scenario avviare Visual Studio in modalità provvisoria immettendo devenv.exe /safemode al prompt dei comandi. Durante questo processo, non vengono caricati pacchetti VSPackage, ad eccezione dei VSPackage inclusi in Visual Studio.

Un pacchetto VSPackage non viene caricato

Per risolvere questo problema, provare uno o più dei passaggi seguenti:

  • Assicurarsi di usare la radice del Registro di sistema in cui il VSPackage è registrato per l'esecuzione, in genere la radice del Registro di sistema sperimentale. Per altre informazioni, vedere Istanza sperimentale.

  • Se il pacchetto VSPackage è destinato all'esecuzione nella radice del Registro di sistema sperimentale, assicurarsi di eseguire la versione sperimentale di Visual Studio.

    Per eseguire la versione sperimentale, aprire un prompt dei comandi di Visual Studio e quindi immettere devenv /rootsuffix exp.

  • Controllare le voci del Registro di sistema VSPackage. Per altre informazioni, vedere Registrazione di PACCHETTI VSPackage e gestione di PACCHETTI VSPackage.

  • Aprire la finestra Output dell'istanza di Visual Studio che non riesce a caricare il pacchetto VSPackage. Le informazioni sul motivo per cui il pacchetto VSPackage non riesce a caricare potrebbero essere visualizzate in tale finestra.

    Note

    Se si avvia la versione sperimentale di Visual Studio dall'ambiente di sviluppo integrato (IDE) di Visual Studio, esaminare la finestra Output di entrambe le versioni.

  • Esaminare il log attività. Per altre informazioni, vedere Procedura: Usare il log attività.

  • Per altre informazioni sulle eccezioni generate dall'IDE, selezionare Eccezioni dal menu Debug per abilitare le eccezioni. Nella finestra di dialogo Eccezioni selezionare i tipi di eccezioni su cui si desiderano altre informazioni.

Un VSPackage non è registrato

Assicurarsi che l'assembly VSPackage risieda in un percorso attendibile. RegPkg non può registrare assembly in un percorso non attendibile o parzialmente attendibile, ad esempio una condivisione di rete nella configurazione di sicurezza .NET predefinita. Anche se viene visualizzato un avviso ogni volta che un utente crea un progetto in un percorso non attendibile, la casella di controllo Non visualizzare di nuovo questo messaggio può impedire la ricorsione di questo avviso.

Un comando non è visibile o genera un errore quando è selezionato

Per risolvere questo problema, provare i passaggi seguenti:

  • Unire i comandi di menu nuovi o modificati e questi comandi già nell'IDE immettendo devenv /rootsuffix Exp /setup al prompt dei comandi di Visual Studio.

  • Assicurarsi che Visual Studio possa trovare UI.dll per il pacchetto VSPackage.

    1. Trovare il CLSID del VSPackage nella sezione Pacchetti del Registro di sistema:

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

    2. Verificare che il percorso specificato dalla sottochiave SatelliteDll sia corretto.

Un VSPackage si comporta in modo imprevisto

Per risolvere questo problema, provare uno o più dei passaggi seguenti:

  • Impostare i punti di interruzione nel codice.

    I punti di partenza validi per il debug sono il costruttore e il metodo di inizializzazione. È anche possibile impostare punti di interruzione nell'area da valutare, ad esempio un comando di menu. Per abilitare i punti di interruzione, è necessario eseguire nel debugger.

    1. Scegliere Proprietà dal menu Progetto.

    2. Nella finestra di dialogo Pagine delle proprietà selezionare la scheda Debug.

    3. Nella casella Argomenti della riga di comando immettere il suffisso radice dell'ambiente di sviluppo destinato al pacchetto VSPackage. Ad esempio, per selezionare la build sperimentale, immettere: /RootSuffix Exp.

    4. Scegliere Avvia debug dal menu Debug o premere F5.

      Note

      Se si esegue il debug di un progetto, creare o caricare un'istanza esistente del progetto.

  • Usare il log attività.

    Tracciare il comportamento di VSPackage scrivendo informazioni nel log attività nei punti chiave. Questa tecnica è particolarmente utile quando si esegue un VSPackage in un ambiente di vendita al dettaglio. Per altre informazioni, vedere Procedura: Usare il log attività.

  • Usare i simboli pubblici.

    Per migliorare la leggibilità durante il debug, è possibile collegare i simboli al debugger:

    1. Dal menu Strumenti/Opzioni passare alla finestra di dialogo Debug/Simboli.
    2. Aggiungere il percorsohttps://msdl.microsoft.com/download/symbols del file di simboli (con estensione pdb): .
    3. Per migliorare le prestazioni, specificare una cartella della cache dei simboli, ad esempio C :\symbols.

Manca un VSPackage o una delle relative dipendenze

  • Per il codice gestito, assicurarsi che i percorsi di riferimento siano corretti.

    1. Scegliere Proprietà dal menu Progetto.

    2. Selezionare la scheda Riferimenti nella finestra di dialogo Pagine delle proprietà e assicurarsi che tutti i percorsi siano corretti. In alternativa, è possibile utilizzare Visualizzatore oggetti per cercare gli oggetti a cui si fa riferimento.

      Per il codice gestito, è possibile usare il Fuslogvw.exe (Visualizzatore log associazione assembly) per visualizzare i dettagli dei caricamenti di assembly non riusciti.

  • Per il codice non gestito, trovare il CLSID del VSPackage nel nodo del Registro di sistema CLSID di Visual Studio:

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

    Assicurarsi che la voce InprocServer32 abbia il percorso corretto della DLL VSPackage.

Riferimenti