Condividi tramite


Architettura dei componenti aggiuntivi a livello di applicazione

I componenti aggiuntivi creati tramite gli strumenti di sviluppo di Office in Visual Studio presentano funzionalità relative all'architettura mirate a garantire stabilità, sicurezza e interoperabilità con Microsoft Office. In questo argomento vengono descritti gli aspetti seguenti dei componenti aggiuntivi:

  • Informazioni sui componenti aggiuntivi

  • Elementi dei componenti aggiuntivi

  • Funzionamento dei componenti aggiuntivi in Microsoft Office

Si applica a: le informazioni fornite in questo argomento sono valide per i progetti a livello di applicazione per Microsoft Office 2010 e Microsoft Office System 2007. Per ulteriori informazioni, vedere Funzionalità disponibili in base ai tipi di progetto e applicazioni di Office.

Per informazioni generali sulla creazione di componenti aggiuntivi, vedere Cenni preliminari sullo sviluppo di soluzioni Office e Guida introduttiva alla programmazione di componenti aggiuntivi a livello di applicazione.

Informazioni sui componenti aggiuntivi

La compilazione di un componente aggiuntivo tramite gli strumenti di sviluppo di Office in Visual Studio prevede la creazione di un assembly di codice gestito che viene caricato da un'applicazione di Microsoft Office. Una volta che l'assembly è stato caricato, il componente aggiuntivo può rispondere agli eventi generati nell'applicazione, ad esempio quando un utente fa clic su una voce di menu. Il componente aggiuntivo può inoltre effettuare chiamate nel modello a oggetti per automatizzare ed estendere l'applicazione e può utilizzare qualsiasi classe di .NET Framework.

L'assembly comunica con i componenti COM dell'applicazione tramite l'assembly di interoperabilità primario dell'applicazione. Per ulteriori informazioni, vedere Assembly di interoperabilità primari di Office e Cenni preliminari sullo sviluppo di soluzioni Office.

Se vengono installati più componenti aggiuntivi per un'applicazione, ogni componente aggiuntivo viene caricato in un dominio applicazione diverso. Questo significa che un componente aggiuntivo che funziona in modo non corretto non può causare l'errato funzionamento di altri componenti aggiuntivi. Ciò assicura inoltre che, quando l'applicazione viene chiusa, tutti gli assembly del componente aggiuntivo vengono scaricati dalla memoria. Per ulteriori informazioni sui domini applicazione, vedere Domini applicazione.

Nota

I componenti aggiuntivi creati tramite gli strumenti di sviluppo di Office in Visual Studio sono progettati per essere utilizzati solo quando l'applicazione di Microsoft Office host viene avviata da un utente finale. Se l'applicazione viene avviata a livello di codice (ad esempio, utilizzando l'automazione), il componente aggiuntivo potrebbe presentare un funzionamento imprevisto.

Elementi dei componenti aggiuntivi

Benché l'assembly rappresenti l'elemento principale dei componenti aggiuntivi, esistono alcuni altri elementi che svolgono un ruolo importante nel modo in cui le applicazioni di Microsoft Office individuano e caricano i componenti aggiuntivi.

Voci del Registro di sistema

Le applicazioni di Microsoft Office individuano i componenti aggiuntivi mediante la ricerca di un insieme di voci del Registro di sistema. Per l'elenco completo delle voci del Registro di sistema utilizzate dai componenti aggiuntivi, vedere Voci del Registro di sistema per i componenti aggiuntivi a livello di applicazione.

Quando si compila la soluzione, in Visual Studio vengono create nel computer di sviluppo tutte le voci del Registro di sistema necessarie per il debug e l'esecuzione del componente aggiuntivo. Per ulteriori informazioni, vedere Cenni preliminari sul processo di compilazione delle soluzioni Office.

Se si utilizza ClickOnce per distribuire la soluzione, il programma di installazione generato automaticamente dal processo di pubblicazione crea le chiavi del Registro di sistema nel computer dell'utente finale. Per ulteriori informazioni, vedere Pubblicazione di soluzioni Office.

Manifesto di distribuzione e manifesto dell'applicazione

I componenti aggiuntivi utilizzano i manifesti di distribuzione e dell'applicazione per identificare e caricare la versione più recente dell'assembly del componente aggiuntivo. Il manifesto di distribuzione fa riferimento al manifesto dell'applicazione corrente, mentre il manifesto dell'applicazione fa riferimento all'assembly del componente aggiuntivo e specifica la classe del punto di ingresso da eseguire nell'assembly. Per ulteriori informazioni, vedere Manifesti dell'applicazione e di distribuzione nelle soluzioni di Office.

Runtime di Visual Studio Tools per Office

Per eseguire i componenti aggiuntivi creati tramite gli strumenti di sviluppo di Office in Visual Studio, nei computer degli utenti finali deve essere installato il Runtime di Visual Studio Tools per Office. Il runtime contiene componenti non gestiti e un insieme di assembly gestiti. I componenti non gestiti caricano l'assembly del componente aggiuntivo. Gli assembly gestiti forniscono il modello a oggetti che il codice del componente aggiuntivo utilizza per automatizzare ed estendere l'applicazione host.

Per ulteriori informazioni, vedere Cenni preliminari su Visual Studio Tools per Office Runtime.

Funzionamento dei componenti aggiuntivi con le applicazioni di Microsoft Office

Quando un utente avvia un'applicazione di Microsoft Office, l'applicazione utilizza il manifesto di distribuzione e il manifesto dell'applicazione per individuare e caricare la versione più recente dell'assembly del componente aggiuntivo. Nella figura seguente viene illustrata l'architettura di base di questi componenti aggiuntivi.

Architettura dei componenti aggiuntivi

Architettura dei componenti aggiuntivi di Office 2007

Nota

Nelle soluzioni Office destinate a .NET Framework 4, le soluzioni effettuano chiamate nel modello a oggetti dell'applicazione host tramite le informazioni sul tipo di assembly di interoperabilità primario incorporate nell'assembly della soluzione, anziché chiamare direttamente l'assembly di interoperabilità primario. Per ulteriori informazioni, vedere Progettazione e creazione di soluzioni Office.

Processo di caricamento

Quando un utente avvia un'applicazione si verificano i passaggi seguenti:

  1. L'applicazione esegue una ricerca all'interno del Registro di sistema allo scopo di individuare la presenza di voci che identificano i componenti aggiuntivi creati tramite gli strumenti di sviluppo di Office in Visual Studio.

  2. Se tale ricerca ha esito positivo, l'applicazione carica il file VSTOEE.dll che a sua volta carica il file VSTOLoader.dll. Si tratta di DLL non gestite che costituiscono i componenti del caricatore per Visual Studio 2010 Tools per Office Runtime. Per ulteriori informazioni, vedere Cenni preliminari su Visual Studio Tools per Office Runtime.

  3. VSTOLoader.dll carica .NET Framework e avvia la parte gestita del Runtime di Visual Studio Tools per Office.

  4. Il Runtime di Visual Studio Tools per Office verifica la presenza di aggiornamenti dei manifesti e scarica le versioni più recenti dei manifesti dell'applicazione e di distribuzione.

  5. Il Runtime di Visual Studio Tools per Office esegue una serie di controlli di sicurezza. Per ulteriori informazioni, vedere Sicurezza delle soluzioni Office.

  6. Se il componente aggiuntivo viene considerato attendibile per l'esecuzione, il Runtime di Visual Studio Tools per Office utilizza i manifesti di distribuzione e dell'applicazione per verificare la disponibilità di aggiornamenti dell'assembly. Se è disponibile una versione nuova dell'assembly, il runtime la scarica nella cache ClickOnce sul computer client. Per ulteriori informazioni, vedere Distribuzione di soluzioni Office.

  7. Il Runtime di Visual Studio Tools per Office crea un nuovo dominio applicazione in cui caricare l'assembly del componente aggiuntivo.

  8. Il Runtime di Visual Studio Tools per Office carica l'assembly del componente aggiuntivo nel dominio applicazione.

  9. Il Runtime di Visual Studio Tools per Office chiama il metodo RequestComAddInAutomationService del componente aggiuntivo, se ne è stato eseguito l'override.

    Se occorre, è possibile eseguire l'override di questo metodo per esporre un oggetto del componente aggiuntivo alle altre soluzioni Microsoft Office. Per ulteriori informazioni, vedere Chiamata di codice nei componenti aggiuntivi a livello di applicazione da altre soluzioni Office.

  10. Il Runtime di Visual Studio Tools per Office chiama il metodo RequestService del componente aggiuntivo, se ne è stato eseguito l'override.

    Se necessario, è possibile eseguire l'override di questo metodo per estendere una funzionalità di Microsoft Office tramite la restituzione di un oggetto che implementa un'interfaccia di estensibilità. Per ulteriori informazioni, vedere Personalizzazione delle funzionalità dell'interfaccia utente utilizzando le interfacce di estensibilità.

    Nota

    Il Runtime di Visual Studio Tools per Office effettua una chiamata specifica al metodo RequestService per ogni interfaccia di estensibilità supportata dall'applicazione host. Anche se la prima chiamata al metodo RequestService di solito si verifica prima della chiamata al metodo ThisAddIn_Startup, il componente aggiuntivo non deve fare alcuna supposizione su quando o su quante volte il metodo RequestService verrà chiamato.

  11. Il Runtime di Visual Studio Tools per Office chiama il metodo ThisAddIn_Startup del componente aggiuntivo. Questo metodo è il gestore eventi predefinito per l'evento Startup. Per ulteriori informazioni, vedere Eventi nei progetti di Office.

Vedere anche

Concetti

Architettura delle personalizzazioni a livello di documento

Cenni preliminari su Visual Studio Tools per Office Runtime

Altre risorse

Architettura delle soluzioni Office in Visual Studio

Programmazione di componenti aggiuntivi a livello di applicazione

Sviluppo di soluzioni Office

Sicurezza delle soluzioni Office

Distribuzione di soluzioni Office