Registrazione di un componente aggiuntivo

Dopo aver creato un componente aggiuntivo, è necessario registrarlo con Visual Studio affinché possa essere attivato in Gestione componenti aggiuntivi.Questa operazione viene eseguita tramite un file XML con estensione di file addin.

In questo file con estensione addin sono incluse le informazioni richieste da Visual Studio per visualizzare il componente aggiuntivo in Gestione componenti aggiuntivi.All'avvio, Visual Studio ricerca nel percorso dei file con estensione addin eventuali file con estensione addin disponibili.Se ne viene individuato uno, viene letto il file XML e vengono fornite a Gestione componenti aggiuntivi le informazioni necessarie per l'avvio del componente aggiuntivo mediante un clic.

Il file con estensione addin viene creato automaticamente quando si crea un componente aggiuntivo utilizzando la Creazione guidata componente aggiuntivo.È inoltre possibile creare un file con estensione addin manualmente, utilizzando le informazioni incluse in questo argomento.

Percorsi di file

Tramite Creazione guidata componente aggiuntivo vengono create automaticamente due copie del file con estensione addin, come segue:

Percorso del file con estensione addin

Percorso del file con estensione dll

Descrizione

Cartella radice del progetto

\Documenti\Visual Studio 2010\Projects\MyAddin1\MyAddin1\

Percorso locale (MyAddin1.dll)

Utilizzato per la distribuzione del progetto del componente aggiuntivo.Incluso nel progetto per facilitare le modifiche e impostato sul percorso locale per la distribuzione di tipo XCopy.

Cartella del componente aggiuntivo

\Documenti\Visual Studio 2010\Addins\

In alternativa

Percorso documenti condivisi\Addins\

Cartella di debug del progetto

Ad esempio, \ Documenti\Visual Studio 2010

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.

Per installare il componente aggiuntivo su un altro computer, è necessario posizionare il file con estensione addin in un percorso nel quale Visual Studio verifica la presenza di componenti aggiuntivi.Questi percorsi vengono elencati nella finestra di dialogo di opzioni , nel nodo di ambiente , nella pagina di Sicurezza del componente aggiuntivo .Per ulteriori informazioni, vedere Sicurezza dei componenti aggiuntivi.

È possibile installare il file con estensione dll che contiene il componente aggiuntivo ovunque sul computer client.Tuttavia, è consigliabile inserirlo nella stessa posizione del file con estensione addin.

[!NOTA]

L'elemento <Assembly> del file con estensione addin deve puntare al file con estensione dll che contiene i binari per il componente aggiuntivo.

File Addin

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

Sezione

Descrizione

Applicazione host

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

Addin

Richiesto. Contiene gli elementi che descrivono il componente aggiuntivo.

Pagina delle opzioni degli strumenti

Facoltativo. Specifica una pagina nella finestra di dialogo Opzioni dove è possibile configurare il componente aggiuntivo.I nodi figlio specificano la categoria e la sottocategoria della pagina Opzioni, nonché il nome dell'assembly e il nome di classe completo.

Gli elementi seguenti sono elementi figlio della sezione <Addin>:

Elemento

Descrizione

Dettagli sulla finestra Informazioni su

Facoltativo. Specifica il testo che verrà visualizzato per il componente aggiuntivo nella finestra di dialogo Informazioni su di Visual Studio.

Dati relativi all'icona Informazioni su

Facoltativo. Contiene dati binari che specificano l'icona che verrà visualizzata per il componente aggiuntivo nella finestra di dialogo Informazioni su di Visual Studio.

Percorso icona Informazioni su

Facoltativo. Specifica il percorso assoluto o relativo dell'icona che verrà visualizzata per il componente aggiuntivo nella finestra di dialogo Informazioni su di Visual Studio.

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.

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.

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.

Nome classe completo

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

Caricamento

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

Di seguito sono riportati dettagli per ogni impostazione.Per ulteriori informazioni sul percorso gerarchico di molti degli elementi descritti, vedere "Esempio di file XML Addin" più avanti in questo argomento.

19dax6cz.collapse_all(it-it,VS.110).gifApplicazione host

L'elemento <Name> nella sezione Host Application contiene il nome dell'applicazione.Si tratta del nome visualizzato nella barra del titolo dell'applicazione o restituito da DTE.Name.Ad esempio, per Visual Studio il tag conterrebbe "Microsoft Visual Studio", mentre nell'IDE macro conterrebbe "Microsoft Visual Studio Macro".

Possono essere presenti più valori Applicazione host per il file con estensione addin.Ogni valore deve essere racchiuso tra i tag <Name> nell'elemento <HostApplication>.Oltre all'elemento <Name>, ogni elemento <HostApplication> deve includere inoltre il numero di versione dell'applicazione racchiuso tra tag <Version>.Di seguito è riportato un esempio:

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

In alternativa, è possibile specificare un asterisco (*) per il valore di <Version> per qualsiasi versione di Visual Studio.

19dax6cz.collapse_all(it-it,VS.110).gifNome descrittivo

L'elemento <FriendlyName>, posto sotto l'elemento <Addin>, specifica la stringa che verrà visualizzata nella colonna Componenti aggiuntivi disponibili in Gestione componenti aggiuntivi.Di seguito è riportato un esempio:

   <FriendlyName>My New Super Addin</FriendlyName>

19dax6cz.collapse_all(it-it,VS.110).gifDescrizione

L'elemento <Description>, posto sotto l'elemento <Addin>, specifica la stringa che verrà visualizzata nella casella Descrizione in Gestione componenti aggiuntivi.Di seguito è riportato un esempio:

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

19dax6cz.collapse_all(it-it,VS.110).gifDettagli 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, l'elemento verrà aggiunto al file con estensione addin.Questo elemento specifica il testo che verrà visualizzato nella finestra di dialogo Informazioni su di Visual Studio.Di seguito è riportato un esempio:

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

19dax6cz.collapse_all(it-it,VS.110).gifDati 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, l'elemento verrà aggiunto al file con estensione addin.Questo elemento contiene i dati binari che specificano l'icona che verrà visualizzata nella finestra di dialogo Informazioni su di Visual Studio.Di seguito è riportato un esempio:

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

19dax6cz.collapse_all(it-it,VS.110).gifAssembly

L'elemento <Assembly>, posto sotto l'elemento <Addin>, specifica il percorso dei file binari del componente aggiuntivo.Questo elemento può essere impostato su un percorso relativo, un percorso assoluto ("file"), un nome di assembly registrato ("assembly") o un URL ("url").

  • Nell'esempio seguente viene mostrata una posizione del percorso assoluto.In questo caso, il parametro src è impostato su file per indicare il percorso della DLL del componente aggiuntivo.

    <Assembly src="file">C:\Documents and Settings\jdoe\Application Data\Microsoft\Visual Studio\10.0\AddIns\MyAddin4.dll</Assembly>
    
  • Nell'esempio seguente viene illustrato un percorso registrato.In questo caso, il parametro src è impostato su assembly per indicare una DLL del componente aggiuntivo registrata.

    <Assembly src="assembly">BookshelfDefineAddin</Assembly>
    
  • Nell'esempio seguente viene illustrata una posizione URL.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>
    

19dax6cz.collapse_all(it-it,VS.110).gifNome classe completo

L'elemento <FullClassName> specifica il nome completo della classe utilizzata per connettersi al componente aggiuntivo.Questo include lo spazio dei nomi che contiene la classe.Di seguito è riportato un esempio:

    <FullClassName>MyAddin4.Connect</FullClassName>

19dax6cz.collapse_all(it-it,VS.110).gifCaricamento

L'elemento <LoadBehavior> definisce se un componente aggiuntivo viene caricato automaticamente all'avvio dell'IDE o se viene avviato manualmente.L'elemento <LoadBehavior> è posto sotto l'elemento <Addin>.Di seguito è riportato un esempio:

    <LoadBehavior>1</LoadBehavior>

Sebbene l'utilizzo di <LoadBehavior> sia facoltativo, è consigliabile utilizzarlo 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 utilizzando un'opzione build (devenv /build).

19dax6cz.collapse_all(it-it,VS.110).gifCommandPreload

L'elemento <CommandPreload> specifica se il componente aggiuntivo deve essere precaricato.Il precaricamento del componente aggiuntivo lo carica per la prima volta all'avvio di Visual Studio dopo l'installazione del file con estensione addin.Di seguito è riportato un esempio:

    <CommandPreload>1</CommandPreload>

Questo elemento consente di specificare che un componente aggiuntivo deve essere caricato dopo l'avvio di Visual Studio.Consente al componente aggiuntivo di creare elementi necessari dell'interfaccia utente, ad esempio pulsanti della barra dei comandi, o di eseguire altre attività di inizializzazione necessarie una sola volta, come la creazione delle impostazioni predefinite del componente aggiuntivo.Il componente aggiuntivo viene quindi scaricato fino a quando un utente non esegue uno dei comandi creati dal componente aggiuntivo.Da questo momento in poi, il componente aggiuntivo viene caricato in base alle necessità.

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'installazione del file con estensione addin.

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

19dax6cz.collapse_all(it-it,VS.110).gifCommand Line Safe

L'elemento facoltativo <CommandLineSafe> indica se il componente aggiuntivo è progettato per evitare la visualizzazione di un'interfaccia utente se avviato dal prompt dei comandi, ad esempio quando si eseguono compilazioni dalla riga di comando o operazioni analoghe.Questa operazione viene eseguita selezionando Non compilare interfaccia utente modale nella Creazione guidata componente aggiuntivo. 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:

    <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.

19dax6cz.collapse_all(it-it,VS.110).gifPagina delle opzioni degli strumenti

L'elemento facoltativo <ToolsOptionsPage> specifica una pagina Opzioni che consente agli utenti di configurare il componente aggiuntivo.I nodi figlio specificano la categoria e la sottocategoria della pagina Opzioni, nonché il nome dell'assembly e il nome di classe completo.Nell'esempio seguente viene illustrata la gerarchia di questo elemento:

  <ToolsOptionsPage>
    <Category Name="Text Editor">
      <SubCategory Name="General">
        <Assembly>"MyFilePath\MyAddInOptionPage.dll"</Assembly>
        <FullClassName>"MyNamespace.MyAddInOptionPage"</FullClassName>
      </SubCategory>
    </Category>
  </ToolsOptionsPage>

Esempio di file XML Addin

Nell'esempio seguente viene illustrato un file XML con estensione addin completo.Mostra la gerarchia e percorsi per gli elementi descritti in questo argomento.

<?xml version="1.0" encoding="UTF-16" standalone="no"?>
<Extensibility 
  xmlns="https://schemas.microsoft.com/AutomationExtensibility">
    <HostApplication>
        <Name>Microsoft Visual Studio Macros</Name>
        <Version>10.0</Version>
    </HostApplication> 
    <HostApplication>
        <Name>Microsoft Visual Studio</Name>
        <Version>10.0</Version>
    </HostApplication>
    <Addin>
        <FriendlyName>My great new add-in.</FriendlyName>
        <Description>This add-in does it all.</Description>
        <AboutBoxDetails>Copyright 2010.</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 tramite Gestione componenti aggiuntivi

Procedura: creare un componente aggiuntivo

Procedura dettagliata: creazione di una procedura guidata

Riferimenti

Comandi e opzioni di Visual Studio

Concetti

Grafico del modello a oggetti di automazione

Altre risorse

Creazione di componenti aggiuntivi e di procedure guidate