Registrazione di un componente aggiuntivo

I componenti aggiuntivi di Visual Studio sono deprecati in Visual Studio 2013. È consigliabile effettuare l'aggiornamento dei componenti aggiuntivi alle estensioni di VSPackage. Per altre informazioni sull'aggiornamento, vedere Domande frequenti: conversione di componenti aggiuntivi in VSPackage Extensions.

Dopo aver creato un componente aggiuntivo, è necessario registrarlo con Visual Studio affinché possa essere attivato in Gestione componenti aggiuntivi. Questa operazione viene eseguita usando un file XML con estensione di file con estensione 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 trova uno, legge il file XML e fornisce a Gestione componenti aggiuntivi le informazioni necessarie per l'avvio del componente aggiuntivo quando viene fatto clic su quest'ultimo.

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 usando le informazioni di questo argomento.

Percorsi dei 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 2013\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 2013\Addins\

-oppure-

Percorso di Documenti condivisi\Addins\

Cartella di debug del progetto

Ad esempio, \ Documenti\Visual Studio 2013

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 in un altro computer, il file con estensione addin deve essere posizionato in un percorso in cui Visual Studio verifica la presenza di componenti aggiuntivi. Questi percorsi sono elencati nella finestra di dialogo Opzioni, nel nodo Ambiente, della pagina Sicurezza componenti aggiuntivi. Per altre informazioni, vedere Sicurezza dei componenti aggiuntivi.

Il file con estensione dll che contiene il componente aggiuntivo può essere installato in qualsiasi posizione del computer client. Tuttavia, è consigliabile installarlo 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 file binari per il componente aggiuntivo.

File con estensione addin

Il file XML con estensione addin è suddiviso nelle seguenti sezioni con tag:

Sezione

Descrizione

Applicazione host

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

Addin

Obbligatorio. Contiene gli elementi che descrivono il componente aggiuntivo.

Pagina delle opzioni degli strumenti

Facoltativo. Specifica una pagina della finestra di dialogo Opzioni in cui è 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 della classe completo.

Gli elementi seguenti sono figli della sezione <Addin>:

Elemento

Descrizione

Dettagli della finestra Informazioni su

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

Dati relativi all'icona Informazioni su

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

Percorso relativo all'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 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.

Eseguibile della riga di comando

Facoltativo. Specifica le modalità di Visual Studio con cui il componente aggiuntivo è compatibile, ad esempio solo riga di comando, solo ambiente di sviluppo integrato (IDE) o entrambi.

Precaricamento dei comandi

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

Nome della classe completo

Obbligatorio. Specifica il nome della classe usato per la connessione al componente aggiuntivo.

Comportamento di caricamento

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

Di seguito, i dettagli per ogni impostazione. Per altre informazioni sulla posizione gerarchica di molti degli elementi descritti, vedere "Esempio di file XML con estensione addin" più avanti in questo argomento.

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

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 anche 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>12.0</Version>
   </HostApplication>
   <HostApplication>
      <!-- An additional supported program/version. -->
      <Name>Microsoft Visual Studio</Name>
      <Version>11.0</Version>
   </HostApplication>

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

Nome descrittivo

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

   <FriendlyName>My New Super Addin</FriendlyName>

Descrizione

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

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

Dettagli della 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 viene 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>

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, l'elemento viene 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>

Assembly

L'elemento <Assembly>, che si trova sotto l'elemento <Addin>, specifica la posizione 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").

  • L'esempio seguente mostra una posizione di 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\12.0\AddIns\MyAddin4.dll</Assembly>
    
  • L'esempio seguente mostra un percorso registrato. In questo caso, il parametro src è impostato su assembly per indicare una DLL del componente aggiuntivo registrato.

    <Assembly src="assembly">BookshelfDefineAddin</Assembly>
    
  • L'esempio seguente mostra un percorso URL. In questo caso, il parametro src è impostato su url per indicare il percorso basato su Web della DLL del componente aggiuntivo.

    <Assembly src="url">http://somewebsite.com/MyAddin4.dll</Assembly>
    

Nome della classe completo

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

    <FullClassName>MyAddin4.Connect</FullClassName>

Comportamento di caricamento

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

    <LoadBehavior>1</LoadBehavior>

Nonostante <LoadBehavior> sia facoltativo, è consigliabile usarlo 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 dal prompt dei comandi usando un'opzione build (devenv /build).

Precaricamento dei comandi

L'elemento <CommandPreload> specifica se il componente aggiuntivo deve essere precaricato. Il precaricamento carica il componente aggiuntivo la prima volta che Visual Studio viene avviato 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 dell'interfaccia utente necessari, ad esempio pulsanti della barra dei comandi, o di eseguire altre attività di inizializzazione da eseguire solo la prima 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. Successivamente, il componente aggiuntivo viene caricato in base alle esigenze.

Valore

Descrizione

0

Il componente aggiuntivo non verrà caricato finché l'utente non lo avvierà con Gestione componenti aggiuntivio 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 con il secondo argomento su OnConnection, sia ext_cm_UISetup. In tal caso, è possibile posizionare i comandi nel modo desiderato usando il metodo AddNamedCommand o AddControl.

Eseguibile della riga di comando

L'elemento facoltativo <CommandLineSafe> indica se il componente aggiuntivo è stato progettato per evitare la visualizzazione di un'interfaccia utente quando viene 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 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 visualizza un'interfaccia utente.

Pagina 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 in cui viene visualizzata la pagina, nonché il nome dell'assembly e il nome della classe completo della pagina Opzioni. L'esempio seguente mostra 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 con estensione addin

L'esempio seguente mostra un file XML con estensione addin completo. Visualizza la gerarchia e i percorsi degli 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</Name>
        <Version>12.0</Version>
    </HostApplication> 
    <HostApplication>
        <Name>Microsoft Visual Studio</Name>
        <Version>11.0</Version>
    </HostApplication>
    <Addin>
        <FriendlyName>My great new add-in.</FriendlyName>
        <Description>This add-in does it all.</Description>
        <AboutBoxDetails>Copyright 2013.</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

Concetti

Grafico del modello a oggetti di automazione

Altre risorse

Creazione di componenti aggiuntivi e di procedure guidate

Comandi e opzioni di Visual Studio