Architecture of VSTO Add-ins

I componenti aggiuntivi VSTO creati mediante gli strumenti di sviluppo per Office disponibili in Visual Studio hanno caratteristiche correlate all'architettura che accentuano stabilità e sicurezza e che ne permettono l'integrazione con Microsoft Office. Questo argomento descrive gli aspetti seguenti dei componenti aggiuntivi VSTO:

Informazioni sui componenti aggiuntivi VSTO

Quando si usano gli strumenti di sviluppo di Office in Visual Studio per compilare un componente aggiuntivo VSTO, si crea un assembly di codice gestito caricato da microsoft app Office lication. Dopo il caricamento dell'assembly, il componente aggiuntivo VSTO può rispondere agli eventi generati nell'applicazione, ad esempio quando un utente fa clic su una voce di menu. Il componente aggiuntivo VSTO può anche chiamare nel modello a oggetti per automatizzare ed estendere l'applicazione e può usare qualsiasi classe in .NET Framework.

L'assembly comunica con i componenti COM dell'applicazione tramite l'assembly di interoperabilità primario dell'applicazione. Per altre informazioni, vedere Assembly di interoperabilità primari di Office e Panoramica dello sviluppo di soluzioni Office (VSTO).

Se sono installati più componenti aggiuntivi VSTO per un'applicazione, ognuno viene caricato in un dominio dell'applicazione diverso. Questo significa che il comportamento errato di un componente aggiuntivo VSTO non può causare errori in altri componenti aggiuntivi VSTO. In tal modo, viene inoltre garantito che, alla chiusura dell'applicazione, tutti gli assembly del componente aggiuntivo VSTO vengono scaricati dalla memoria. Per altre informazioni sui domini applicazione, vedere Domini applicazione.

Nota

I componenti aggiuntivi VSTO creati mediante gli strumenti di sviluppo per Office disponibili in Visual Studio sono progettati per essere usati 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 usando l'automazione, il componente aggiuntivo VSTO potrebbe non funzionare nel modo previsto.

Elementi dei componenti aggiuntivi VSTO

Anche se l'assembly del componente aggiuntivo VSTO è l'elemento principale, esistono numerosi altri elementi che svolgono un ruolo importante in relazione al modo in cui le applicazioni di Microsoft Office individuano e caricano componenti aggiuntivi VSTO.

Voci del Registro di sistema

Le applicazioni di Microsoft Office individuano i componenti aggiuntivi VSTO cercando un set di voci del Registro di sistema. Per un elenco completo delle voci del Registro di sistema usate dai componenti aggiuntivi VSTO, vedere Voci del Registro di sistema per i componenti aggiuntivi VSTO.

Quando si compila la soluzione, Visual Studio crea tutte le voci del Registro di sistema nel computer di sviluppo così da poter eseguire il componente aggiuntivo VSTO ed effettuarne il debug. Per altre informazioni, vedere Creare soluzioni Office.

Se si usa ClickOnce per distribuire la soluzione, il programma di installazione generato dal processo di pubblicazione crea automaticamente le chiavi del Registro di sistema nel computer dell'utente finale. Per altre informazioni, vedere Distribuire una soluzione Office usando ClickOnce.

Manifesto della distribuzione e manifesto dell'applicazione

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

Runtime di Visual Studio Tools per Office

Per eseguire componenti aggiuntivi VSTO creati usando gli strumenti di sviluppo di Office in Visual Studio, i computer degli utenti finali devono avere installato il Strumenti di Visual Studio per il runtime di Office. Il runtime include componenti non gestiti e un set di assembly gestiti. I componenti non gestiti caricano l'assembly del componente aggiuntivo VSTO. Questi assembly gestiti forniscono il modello a oggetti usato dal codice del componente aggiuntivo VSTO per automatizzare ed estendere l'applicazione host.

Per altre informazioni, vedere Strumenti di Visual Studio per la panoramica del runtime di Office.

Funzionamento dei componenti aggiuntivi VSTO con applicazioni di Microsoft Office

Quando un utente avvia un'applicazione di Microsoft Office, questa usa i manifesti della distribuzione e dell'applicazione per individuare e caricare la versione più recente dell'assembly del componente aggiuntivo VSTO. La figura seguente mostra l'architettura di base di questi componenti aggiuntivi VSTO.

2007 Office add-in architecture

Nota

Nelle soluzioni Office destinate a .NET Framework 4 o .NET Framework 4.5, le soluzioni chiamano nel modello a oggetti dell'applicazione host usando le informazioni sul tipo pia incorporate nell'assembly della soluzione, anziché chiamare direttamente nell'assembly di interoperabilità primario. Per altre informazioni, vedere Progettare e creare soluzioni Office.

Processo di caricamento

Quando un utente avvia un'applicazione, vengono eseguite le operazioni seguenti:

  1. L'applicazione cerca nel Registro di sistema le voci che identificano i componenti aggiuntivi VSTO creati mediante gli strumenti di sviluppo per Office in Visual Studio.

  2. Se l'applicazione rileva queste voci del Registro di sistema, l'applicazione carica VSTOEE. dll, che carica VSTOLoader. dll. Si tratta di DLL non gestite che sono i componenti del caricatore di Visual Studio 2010 Tools per Office Runtime. Per altre informazioni, vedere Strumenti di Visual Studio per la panoramica del runtime di Office.

  3. VSTOLoader.dll carica .NET Framework e avvia la parte gestita del Strumenti di Visual Studio per il runtime di Office.

  4. Il Strumenti di Visual Studio per il runtime di Office verifica la presenza di aggiornamenti del manifesto e scarica i manifesti di distribuzione e dell'applicazione più recenti.

  5. Il Strumenti di Visual Studio per il runtime di Office esegue una serie di controlli di sicurezza. Per altre informazioni, vedere Proteggere le soluzioni Office.

  6. Se il componente aggiuntivo VSTO è attendibile per l'esecuzione, il Strumenti di Visual Studio per il runtime di Office usa il manifesto della distribuzione e il manifesto dell'applicazione per verificare la disponibilità di aggiornamenti dell'assembly. Se è disponibile una nuova versione dell'assembly, il runtime scarica la nuova versione dell'assembly nella cache ClickOnce nel computer client. Per altre informazioni, vedere Distribuire una soluzione Office.

  7. Il Strumenti di Visual Studio per il runtime di Office crea un nuovo dominio applicazione in cui caricare l'assembly del componente aggiuntivo VSTO.

  8. Il Strumenti di Visual Studio per il runtime di Office carica l'assembly del componente aggiuntivo VSTO nel dominio dell'applicazione.

  9. Il Strumenti di Visual Studio per il runtime di Office chiama il RequestComAddInAutomationService metodo nel componente aggiuntivo VSTO, se è stato sottoposto a override.

    Facoltativamente, è possibile eseguire l'override di questo metodo per esporre un oggetto nel componente aggiuntivo VSTO ad altre soluzioni Microsoft Office. Per altre informazioni, vedere Chiamare il codice nei componenti aggiuntivi VSTO da altre soluzioni Office.

  10. Il Strumenti di Visual Studio per il runtime di Office chiama il RequestService metodo nel componente aggiuntivo VSTO, se è stato sottoposto a override.

    È facoltativamente possibile eseguire l'override di questo metodo per estendere una funzionalità di Microsoft Office restituendo un oggetto che implementa un'interfaccia di estensibilità. Per altre informazioni, vedere Personalizzare le funzionalità dell'interfaccia utente usando interfacce di estendibilità.

    Nota

    Il Strumenti di Visual Studio per il RequestService runtime di Office effettua chiamate separate al metodo per ogni interfaccia di estendibilità supportata dall'applicazione host. Anche se la prima chiamata al metodo RequestService viene effettuata prima di quella al metodo ThisAddIn_Startup , il componente aggiuntivo VSTO non deve formulare ipotesi in merito a quando verrà chiamato il metodo RequestService o al numero di volte in cui verrà chiamato.

  11. Il Strumenti di Visual Studio per il runtime di Office chiama il ThisAddIn_Startup metodo nel componente aggiuntivo VSTO. Questo metodo è il gestore eventi predefinito per l'evento Startup . Per altre informazioni, vedere Eventi nei progetti di Office.