Condividi tramite


Registrazione di un componente aggiuntivo

Aggiornamento: novembre 2007

Dopo aver creato un componente aggiuntivo, è necessario registrarlo con Visual Studio affinché possa essere attivato in Gestione componenti aggiuntivi. Nelle versioni precedenti di Visual Studio questa operazione veniva eseguita mediante le chiavi del Registro di sistema, mentre nella versione odierna viene utilizzato un file XML.

Nota:

Il file Addin viene creato automaticamente quando si crea un componente aggiuntivo utilizzando la Creazione guidata componente aggiuntivo. Le informazioni riportate di seguito sono pertinenti solo se si desidera creare o modificare manualmente il file di registrazione del componente aggiuntivo.

In Visual Studio .NET 2002 e Visual Studio .NET 2003 veniva richiesto di registrare gli assembly del componente aggiuntivo con Windows come componenti COM utilizzando lo Strumento di registrazione degli assembly (regasm.exe). Inoltre, veniva richiesto di registrare il componente aggiuntivo con Visual Studio utilizzando le chiavi del Registro di sistema di Windows affinché venisse visualizzato in Gestione componenti aggiuntivi.

Questi passaggi sono stati modificati, iniziando con Visual Studio 2005. Non è più necessario registrare gli assembly .NET con Windows utilizzando regasm. È invece sufficiente inserire il file DLL dell'assembly in una directory specifica, descritta in seguito in questo argomento, insieme a un file XML con estensione Addin. In questo file XML vengono descritte le informazioni richieste da Visual Studio per visualizzare il componente aggiuntivo in Gestione componenti aggiuntivi. Quando si avvia Visual Studio, viene cercato nel percorso dei file Addin (riportato di seguito) qualsiasi file Addin disponibile. Se ne viene individuato uno, viene letto il file XML e vengono fornite a Gestione componenti aggiuntivi tutte le informazioni necessarie per l'avvio del componente aggiuntivo mediante un clic.

Questo metodo di registrazione semplificato consente installazioni di tipo XCopy per i componenti aggiuntivi in codice gestito. Se tutti i file vengono inseriti nella posizione appropriata, il componente aggiuntivo funzionerà correttamente. Inoltre, l'utilizzo del file XML commentato per definire le impostazioni di registrazione per i componenti aggiuntivi semplifica la comprensione e la modifica delle informazioni rispetto alle chiavi del Registro di sistema.

File Addin

Un nuovo file XML con estensione Addin sostituisce le impostazioni del Registro di sistema precedenti. Dopo il completamento della Creazione guidata componente aggiuntivo vengono automaticamente create due copie del file Addin:

Percorso del file Addin

Percorso del file DLL

Descrizione

Cartella Addin

(ad esempio, \Documents and Settings\All Users\Shared Documents\Visual Studio 2008\Addins)

oppure

\Documents and Settings\<nome utente>C:\My Documents\Visual Studio 2008\Addins

Cartella di debug del progetto

(ad esempio, \Documenti\Visual Studio Projects\MyAddin1\MyAddin1\bin)

Utilizzata per l'esecuzione del componente aggiuntivo nell'ambiente di debug. Deve sempre indicare il percorso di output della configurazione della build corrente.

Cartella principale del progetto

(ad esempio, \Documenti\Visual Studio\Projects\MyAddin1)

Percorso locale (MyAddin1.dll)

Utilizzato per la distribuzione del progetto del componente aggiuntivo. Per facilità di modifica è incluso nel progetto ed è impostato con il percorso locale per la distribuzione di tipo XCopy.

Il file XML Addin è suddiviso nelle sezioni con tag riportate di seguito:

Impostazione

Descrizione

Applicazione host

Obbligatorio. Specifica i nomi e numeri di versione delle applicazioni che possono caricare il componente aggiuntivo.

Assembly

Obbligatorio. Specifica il percorso dei file binari del componente aggiuntivo. Questo campo può essere impostato su un percorso locale, un percorso di rete o un URL valido.

Nome classe completo

Obbligatorio. Specifica il nome della classe utilizzata per collegarsi al componente aggiuntivo.

Caricamento

Facoltativo. Definisce se un componente aggiuntivo viene caricato all'avvio o manualmente.

CommandPreload

Facoltativo. Specifica lo stato precaricato del componente aggiuntivo, ovvero se il componente aggiuntivo crea o meno la relativa interfaccia utente utilizzando un metodo quale Commands.AddNamedCommand.

Command Line Safe

Facoltativo. Specifica le modalità di Visual Studio con cui il componente aggiuntivo è compatibile, ad esempio solo riga di comando, solo IDE o entrambe.

Di seguito sono riportati dettagli per ogni impostazione.

Applicazione host

Il tag <Name> dell'Applicazione host contiene il nome dell'applicazione. Si tratta del nome visualizzato nella barra del titolo dell'applicazione o restituito da DTE.Name. In Visual Studio il tag conterrebbe quindi "Microsoft Visual Studio", mentre nell'IDE macro conterrebbe "Microsoft Visual Studio Macro".

Possono essere presenti più valori Applicazione host per file Addin. Ogni valore deve essere racchiuso tra tag <Name> all'interno del tag <HostApplication>. Oltre al tag <Name>, ogni tag <HostApplication> deve includere anche il numero di versione dell'applicazione racchiuso tra tag <Version>. Ad esempio:

   <HostApplication>
      <!-- First Host App name (required). -->
      <Name>Microsoft Visual Studio</Name>
      <Version>9.0</Version>
   </HostApplication>
   <HostApplication>
      <!-- An additional supported program/version. -->
      <Name>Microsoft Visual Studio Macros</Name>
      <Version>9.0</Version>
   </HostApplication>

In alternativa, è possibile specificare un asterisco (*) per il valore di <Version> per qualsiasi versione di Visual Studio. Per informazioni sulla posizione gerarchica di questi tag, vedere la sezione "Esempio di file XML Addin" più avanti in questo argomento.

Nome descrittivo

Il tag <FriendlyName>, posto sotto il tag <Addin>, specifica la stringa che verrà visualizzata nella colonna Componenti aggiuntivi disponibili per il componente aggiuntivo in Gestione componenti aggiuntivi. Di seguito è riportato un esempio del relativo utilizzo:

   <FriendlyName>My New Super Addin</FriendlyName>

Per informazioni sulla posizione gerarchica di questo tag, vedere la sezione "Esempio di file XML Addin" più avanti in questo argomento.

Descrizione

Il tag <Description>, posto sotto il tag <Addin>, specifica la stringa che verrà visualizzata nella casella Descrizione per il componente aggiuntivo in Gestione componenti aggiuntivi. Di seguito è riportato un esempio del relativo utilizzo:

   <Description>This add-in will change your life!</Description>

Per informazioni sulla posizione gerarchica di questo tag, vedere la sezione "Esempio di file XML Addin" più avanti in questo argomento.

Dettagli sulla finestra Informazioni su

Se si seleziona l'opzione per generare impostazioni per la finestra di dialogo Informazioni su quando si crea il componente aggiuntivo, questo tag verrà aggiunto al file Addin. Questo tag specifica il testo che verrà visualizzato per il componente aggiuntivo nella finestra di dialogo Informazioni su di Visual Studio. Di seguito è riportato un esempio del relativo utilizzo:

   <AboutBoxDetails>For add-in support, call 1-800-xxx-
     xxxx.</AboutBoxDetails>

Per informazioni sulla posizione gerarchica di questo tag, vedere la sezione "Esempio di file XML Addin" più avanti in questo argomento.

Dati relativi all'icona Informazioni su

Se si seleziona l'opzione per generare impostazioni per la finestra di dialogo Informazioni su quando si crea il componente aggiuntivo, questo tag verrà aggiunto al file Addin. Questo tag contiene dati binari che specificano l'icona che verrà visualizzata per il componente aggiuntivo nella finestra di dialogo Informazioni su di Visual Studio. Di seguito è riportato un esempio del relativo utilizzo:

<AboutIconData>0000010006 . . . FFFF0000</AboutIconData>

Per informazioni sulla posizione gerarchica di questo tag, vedere la sezione "Esempio di file XML Addin" più avanti in questo argomento.

Assembly

Il tag <Assembly>, posto sotto il tag <Addin>, specifica il percorso dei file binari del componente aggiuntivo. Questo tag può essere impostato su un percorso locale, un percorso di rete ("file"), un nome di assembly registrato ("assembly") o un URL valido ("url"). Per informazioni sulla posizione gerarchica di questo tag, vedere la sezione "Esempio di file XML Addin" più avanti in questo argomento.

  • Di seguito è riportato un esempio di percorso URL di un componente aggiuntivo. In questo caso, il parametro src è impostato su url per indicare il percorso Web della DLL del componente aggiuntivo:

    <Assembly src="url">http://somewebsite.com/MyAddin4.dll</Assembly>
    
  • Di seguito è riportato un esempio di percorso locale. In questo caso, il parametro src è impostato su file per indicare il percorso locale della DLL del componente aggiuntivo:

    <Assembly src="file">C:\Documents and Settings\jdoe\Application Data\Microsoft\Visual Studio\8.0\AddIns\MyAddin4.dll</Assembly>
    
  • Di seguito è riportato un esempio di percorso locale. In questo caso, il parametro src è impostato su assembly per indicare il percorso Web della DLL del componente aggiuntivo:

    <Assembly src="assembly">BookshelfDefineAddin</Assembly>
    

Nome classe completo

Il tag <FullClassName> specifica il nome completo della classe utilizzato per collegarsi al componente aggiuntivo, incluso lo spazio dei nomi contenente la classe. Di seguito è riportato un esempio del relativo utilizzo:

    <FullClassName>MyAddin4.Connect</FullClassName>

Per informazioni sulla posizione gerarchica di questo tag, vedere la sezione "Esempio di file XML Addin" più avanti in questo argomento.

Caricamento

Il tag <LoadBehavior> definisce se un componente aggiuntivo viene caricato automaticamente all'avvio dell'IDE o se viene avviato manualmente. Il tag <LoadBehavior> è posto sotto il tag <Addin>. Di seguito è riportato un esempio del relativo utilizzo:

    <LoadBehavior>1</LoadBehavior>

Sebbene l'utilizzo del tag <LoadBehavior> sia facoltativo, è consigliabile utilizzare tale tag per definire in modo esplicito quando viene caricato un componente aggiuntivo.

Valore

Descrizione

0

Il componente aggiuntivo non viene caricato all'avvio dell'IDE e deve essere avviato manualmente.

1

Il componente aggiuntivo viene caricato automaticamente all'avvio dell'IDE.

4

Il componente aggiuntivo viene caricato all'avvio di devenv dalla riga di comando con un'opzione build (devenv /build).

Per informazioni sulla posizione gerarchica di questo tag, vedere la sezione "Esempio di file XML Addin" più avanti in questo argomento.

CommandPreload

Il tag <CommandPreload> specifica se il componente aggiuntivo deve essere precaricato. Il componente aggiuntivo viene caricato per la prima volta all'avvio di Visual Studio dopo aver inserito il file Addin sul disco. Di seguito è riportato un esempio del relativo utilizzo:

    <CommandPreload>1</CommandPreload>

Questo tag consente di specificare che un componente aggiuntivo deve essere caricato dopo l'avvio di Visual Studio. Consente di creare elementi necessari dell'interfaccia utente, ad esempio i pulsanti della barra degli strumenti, o di eseguire attività di inizializzazione necessarie una sola volta come la creazione delle impostazioni predefinite del componente aggiuntivo. Il componente aggiuntivo viene immediatamente scaricato e rimarrà tale finché un utente non eseguirà uno dei comandi creati dal componente aggiuntivo, mediante i quali il componente aggiuntivo verrà caricato secondo le necessità in tutte le istanze successive dell'IDE.

Valore

Descrizione

0

Il componente aggiuntivo non verrà caricato finché l'utente non lo avvierà mediante Gestione componenti aggiuntivi o finché non verrà impostato per il caricamento all'avvio.

1

Il componente aggiuntivo viene caricato automaticamente al primo avvio di Visual Studio dopo l'inserimento del file XML Addin sul disco.

È possibile controllare il metodo OnConnection che si implementa per verificare se il tipo di connessione, specificato con il secondo argomento su OnConnection, è ext_cm_UISetup. In caso affermativo, è possibile posizionare i comandi nel modo desiderato utilizzando i metodi AddNamedCommand o AddControl.

Per informazioni sulla posizione gerarchica di questo tag, vedere la sezione "Esempio di file XML Addin" più avanti in questo argomento.

Command Line Safe

Il tag facoltativo <CommandLineSafe> indica se il componente aggiuntivo è progettato per evitare la visualizzazione di un'interfaccia utente se avviato dalla riga di comando devenv, ad esempio quando si eseguono generazioni dalla riga di comando o operazioni analoghe. Questa operazione viene eseguita scegliendo l'opzione Non generare interfaccia utente modale nella Creazione guidata componente aggiuntivo. Questo tag specifica inoltre le modalità di Visual Studio con cui il componente aggiuntivo è compatibile, ad esempio solo riga di comando o solo IDE. Di seguito è riportato un esempio del relativo utilizzo:

    <CommandLineSafe>0</CommandLineSafe>

Valore

Descrizione

0

Specifica che il componente aggiuntivo non è eseguibile dalla riga di comando e può visualizzare un'interfaccia utente.

1

Specifica che il componente aggiuntivo è eseguibile dalla riga di comando e non può visualizzare un'interfaccia utente.

Per informazioni sulla posizione gerarchica di questo tag, vedere la sezione "Esempio di file XML Addin" più avanti in questo argomento.

Esempio di file XML Addin

Di seguito è riportato un esempio di file XML Addin completo. Vengono illustrati la gerarchia e i percorsi per i tag citati in precedenza.

<?xml version="1.0" encoding="UTF-16" standalone="no"?>
<Extensibility 
  xmlns="https://schemas.microsoft.com/AutomationExtensibility">
    <HostApplication>
        <Name>Microsoft Visual Studio Macros</Name>
        <Version>9.0</Version>
    </HostApplication> 
    <HostApplication>
        <Name>Microsoft Visual Studio</Name>
        <Version>9.0</Version>
    </HostApplication>
    <Addin>
        <FriendlyName>My great new add-in.</FriendlyName>
        <Description>This add-in does it all.</Description>
        <AboutBoxDetails>Copyright 2008.</AboutBoxDetails>
        <AboutIconData>0000 . . . FFFF0000</AboutIconData>
        <Assembly>MyNewAddin.dll</Assembly>
        <FullClassName>MyNewAddin.Connect</FullClassName>
        <LoadBehavior>1</LoadBehavior>
        <CommandPreload>1</CommandPreload>
        <CommandLineSafe>0</CommandLineSafe>
    </Addin>
</Extensibility>

Vedere anche

Attività

Procedura: controllare i componenti aggiuntivi con Gestione componenti aggiuntivi

Procedura: creare un componente aggiuntivo

Procedura dettagliata: creazione di una procedura guidata

Concetti

Grafico del modello oggetto di automazione

Riferimenti

Comandi e opzioni di Visual Studio

Altre risorse

Creazione di componenti aggiuntivi e di procedure guidate