Registrazione dei gestori dei comandi negli assembly di interoperabilità

Un pacchetto VSPackage deve essere registrato con Visual Studio in modo che l'ambiente di sviluppo integrato (IDE) instrada correttamente i comandi.

Il Registro di sistema può essere aggiornato modificando manualmente o usando un file registrar (con estensione rgs). Per altre informazioni, vedere Creating Registrar Scripts.

Managed Package Framework (MPF) fornisce questa funzionalità tramite la ProvideMenuResourceAttribute classe .

  • Le risorse di riferimento del formato tabella dei comandi si trovano nelle DLL dell'interfaccia utente satellite non gestite.

Registrazione del gestore comandi di un pacchetto VSPackage

Un VSPackage che funge da gestore per i comandi basati sull'interfaccia utente richiede una voce del Registro di sistema denominata in base al pacchetto VSPackage GUID. Questa voce del Registro di sistema specifica il percorso del file di risorse dell'interfaccia utente del VSPackage e la risorsa di menu all'interno di tale file. La voce del Registro di sistema si trova in HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\<Version>\Menus, dove <Version> è la versione di Visual Studio, ad esempio 9.0.

Nota

Il percorso radice di HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\<Version> può essere sottoposto a override con una radice alternativa quando viene inizializzata la shell di Visual Studio. Per altre informazioni sul percorso radice, vedere Installazione di VSPackage con Windows Installer.

Voce del Registro di sistema risorse CTMENU

La struttura della voce del Registro di sistema è:

HKEY_LOCAL_MACHINE\Software\VisualStudio\<Version>\
  Menus\
    <GUID> = <Resource Information>

<GUID> è il GUID del VSPackage nel formato {XXXXXX-XXXX-XXXX-XXXX-XXXX-XXXXXXXXX}.

<Le informazioni> sulle risorse sono costituite da tre elementi separati da virgole. Questi elementi sono, in ordine:

<Percorso della DLL> risorsa, <ID> risorsa menu, <versione del menu>

Nella tabella seguente vengono descritti i campi delle <informazioni> sulle risorse.

Elemento Descrizione
<Percorso della DLL risorsa> Questo è il percorso completo della DLL della risorsa che contiene la risorsa di menu o questo viene lasciato vuoto, a indicare che la DLL della risorsa del PACCHETTO VSPackage deve essere usata (come specificato nella sottochiave Packages in cui è registrato il VSPackage stesso).

È consuetudine lasciare vuoto questo campo.
<ID risorsa menu> Si tratta dell'ID risorsa della CTMENU risorsa che contiene tutti gli elementi dell'interfaccia utente per vsPackage compilati da un file con estensione vsct .
<Versione del menu> Si tratta di un numero usato come versione per la CTMENU risorsa. Visual Studio usa questo valore per determinare se è necessario rimergerne il contenuto con la CTMENU cache di tutte le CTMENU risorse. Un remerge viene attivato eseguendo il comando devenv setup.

Questo valore deve essere inizialmente impostato su 1 e incrementato dopo ogni modifica nella CTMENU risorsa e prima che si verifichi il remerge.

Esempio

Di seguito è riportato un esempio di due voci di risorse:

HKEY_LOCAL_MACHINE\Software\VisualStudio\9.0Exp\
  Menus\
    {019971D6-4685-11D2-B48A-0000F87572EB} = ,1, 10
    {1b027a40-8f43-11d0-8d11-00a0c91bc942} = , 10211, 3