Architecture of VSTO Add-ins

Los complementos de VSTO creados con Office Developer Tools en Visual Studio tienen unas características arquitectónicas que resaltan la estabilidad y seguridad, y que pueden trabajar en estrecha colaboración con Microsoft Office. En este tema, se describen los siguientes aspectos de los complementos de VSTO:

Descripción de los complementos de VSTO

Cuando se usan las herramientas de desarrollo de Office en Visual Studio para crear un complemento de VSTO, se crea un ensamblado de código administrado cargado por una aplicación de Office lication de Microsoft. Una vez cargado el ensamblado, el complemento de VSTO puede responder a los eventos que se producen en la aplicación como, por ejemplo, cuando un usuario hace clic en un elemento de menú. El complemento VSTO también puede llamar al modelo de objetos para automatizar y ampliar la aplicación, y puede usar cualquiera de las clases de .NET Framework.

El ensamblado se comunica con los componentes COM de la aplicación a través del ensamblado de interoperabilidad primario de la aplicación. Para obtener más información, consulte Introducción al desarrollo de soluciones de Office (VSTO) y ensamblados de interoperabilidad primarios de Office.

Si se instalan varios complementos de VSTO para una aplicación, cada uno de ellos se carga en un dominio de aplicación diferente. Esto significa que un complemento de VSTO que se comporta incorrectamente no puede hacer que otros complementos de VSTO generen un error. También ayuda a garantizar que, cuando se cierra la aplicación, todos los ensamblados de complementos de VSTO se descarguen de la memoria. Para obtener más información sobre los dominios de aplicación, consulte Dominios de aplicación.

Nota:

Los complementos de VSTO que se crean con Office Developer Tools en Visual Studio están diseñados para usarse solo cuando la aplicación host de Microsoft Office es iniciada por un usuario final. Si la aplicación se inicia mediante programación (por ejemplo, al usar Automatización), el complemento de VSTO podría no funcionar según lo esperado.

Componentes de los complementos de VSTO

Aunque el ensamblado del complemento de VSTO es el componente principal, hay otros componentes que desempeñan un papel importante en la forma en que las aplicaciones de Microsoft Office detectan y cargan complementos de VSTO.

Entradas del registro

Para detectar complementos de VSTO, las aplicaciones de Microsoft Office buscan en un conjunto de entradas del registro. Para obtener una lista completa de las entradas del Registro usadas por los complementos de VSTO, consulte Entradas del Registro para complementos de VSTO.

Al compilar la solución, Visual Studio crea todas las entradas del Registro necesarias en el equipo de desarrollo para que el complemento de VSTO se pueda ejecutar y depurar fácilmente. Para obtener más información, vea Compilar soluciones de Office.

Si usa ClickOnce para implementar la solución, el programa de instalación generado por el proceso de publicación crea automáticamente las claves del Registro en el equipo del usuario final. Para obtener más información, vea Implementar una solución de Office mediante ClickOnce.

Manifiesto de implementación y manifiesto de aplicación

Los complementos de VSTO usan manifiestos de implementación y manifiestos de aplicación para identificar y cargar la versión más reciente del ensamblado del complemento de VSTO. El manifiesto de implementación apunta al manifiesto de aplicación actual. El manifiesto de aplicación apunta al ensamblado del complemento de VSTO y especifica la clase de punto de entrada que se ejecutará en el ensamblado. Para obtener más información, vea Manifiestos de aplicación e implementación en soluciones de Office.

Visual Studio Tools para Office Runtime

Para ejecutar complementos de VSTO creados mediante las herramientas de desarrollo de Office en Visual Studio, los equipos de usuario final deben tener instalado el entorno de ejecución de Visual Studio Tools para Office. El tiempo de ejecución incluye los componentes no administrados y un conjunto de ensamblados administrados. Los componentes no administrados cargan el ensamblado del complemento de VSTO. Los ensamblados administrados proporcionan el modelo de objetos que el código del complemento de VSTO usa para automatizar y extender la aplicación host.

Para obtener más información, consulte Visual Studio Tools para Office información general del entorno de ejecución.

Cómo funcionan los complementos de VSTO con aplicaciones de Microsoft Office

Cuando un usuario inicia una aplicación de Microsoft Office, la aplicación usa el manifiesto de implementación y el manifiesto de aplicación para buscar y cargar la versión más reciente del ensamblado del complemento de VSTO. La ilustración siguiente muestra la arquitectura básica de estos complementos de VSTO.

2007 Office add-in architecture

Nota:

En las soluciones de Office que tienen como destino .NET Framework 4 o .NET Framework 4.5, las soluciones llaman al modelo de objetos de la aplicación host mediante información de tipo PIA incrustada en el ensamblado de la solución, en lugar de llamar directamente al PIA. Para obtener más información, consulte Diseño y creación de soluciones de Office.

Proceso de carga

Cuando un usuario inicia una aplicación, se dan los pasos siguientes:

  1. La aplicación busca en el registro entradas que identifiquen complementos de VSTO que se hayan creado con Office Developer Tools en Visual Studio.

  2. Si encuentra estas entradas del Registro, la aplicación carga VSTOEE.dll, que a su vez carga VSTOLoader.dll. Se trata de DLL no administradas que son los componentes de carga para Visual Studio 2010 Tools para Office Runtime. Para obtener más información, consulte Visual Studio Tools para Office información general del entorno de ejecución.

  3. VSTOLoader.dll carga .NET Framework e inicia la parte administrada del entorno de ejecución de Visual Studio Tools para Office .

  4. El entorno de ejecución de Visual Studio Tools para Office comprueba si hay actualizaciones de manifiesto y descarga los manifiestos de implementación y aplicación más recientes.

  5. El entorno de ejecución de Visual Studio Tools para Office realiza una serie de comprobaciones de seguridad. Para obtener más información, consulte Soluciones seguras de Office.

  6. Si el complemento VSTO es de confianza para ejecutarse, el entorno de ejecución de Visual Studio Tools para Office usa el manifiesto de implementación y el manifiesto de aplicación para comprobar si hay actualizaciones de ensamblado. Si hay disponible una nueva versión del ensamblado, el entorno de ejecución descarga la nueva versión del ensamblado en la caché clickOnce en el equipo cliente. Para obtener más información, vea Implementar una solución de Office.

  7. El entorno de ejecución de Visual Studio Tools para Office crea un nuevo dominio de aplicación en el que se carga el ensamblado de complemento de VSTO.

  8. El entorno de ejecución de Visual Studio Tools para Office carga el ensamblado del complemento VSTO en el dominio de aplicación.

  9. El Visual Studio Tools para Office tiempo de ejecución llama al método en el RequestComAddInAutomationService complemento de VSTO, si lo ha reemplazado.

    Si lo desea, puede invalidar este método para exponer un objeto del complemento de VSTO a otras soluciones de Microsoft Office. Para obtener más información, vea Llamar al código en complementos de VSTO desde otras soluciones de Office.

  10. El Visual Studio Tools para Office tiempo de ejecución llama al método en el RequestService complemento de VSTO, si lo ha reemplazado.

    Opcionalmente, puede devolver un objeto que implementa una interfaz de extensibilidad para invalidar este método y extender una característica de Microsoft Office. Para obtener más información, consulte Personalización de las características de la interfaz de usuario mediante interfaces de extensibilidad.

    Nota:

    El tiempo de ejecución de Visual Studio Tools para Office realiza llamadas independientes al RequestService método para cada interfaz de extensibilidad compatible con la aplicación host. Aunque la primera llamada al método RequestService suele hacerse antes de llamar al método ThisAddIn_Startup , el complemento de VSTO no debe hacer ninguna suposición sobre cuándo se llamará al método RequestService o cuántas veces se le llamará.

  11. El Visual Studio Tools para Office tiempo de ejecución llama al método en el ThisAddIn_Startup complemento de VSTO. Este método es el controlador de eventos predeterminado para el evento Startup . Para obtener más información, vea Eventos en proyectos de Office.