Compartir a través de


Arquitectura de los complementos de nivel de aplicación

Los complementos que se crean con las herramientas de desarrollo de Office en Visual Studio tienen unas características arquitectónicas que ponen de manifiesto la estabilidad y seguridad y que les permiten funcionar en gran medida con Microsoft Office.En este tema se describen los aspectos siguientes de los complementos:

  • Introducción a los complementos

  • Componentes de los complementos

  • Cómo funcionan los complementos con las aplicaciones de Microsoft Office

Se aplica a: La información de este tema se aplica a los proyectos de nivel de aplicación de Microsoft Office 2013 y Microsoft Office 2010. Para obtener más información, vea Características disponibles por aplicación y tipo de proyecto de Office.

Para obtener información general sobre cómo crear complementos, vea Información general sobre el desarrollo de soluciones de Office e Introducción a la programación de complementos de nivel de aplicación.

Introducción a los complementos

Cuando se usan las herramientas de desarrollo de Office en Visual Studio para compilar un complemento, se crea un ensamblado de código administrado que una aplicación de Microsoft Office va a cargar.Una vez que se ha cargado el ensamblado, el complemento puede responder a los eventos que se inician en la aplicación (por ejemplo, cuando un usuario hace clic en un elemento de menú).El complemento también puede realizar una llamada en el modelo de objetos para automatizar y extender la aplicación, y puede utilizar 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, vea Ensamblados de interoperabilidad primarios de Office e Información general sobre el desarrollo de soluciones de Office.

Si hay varios complementos instalados para una aplicación, cada complemento se carga en un dominio de aplicación diferente.Esto significa que un complemento que se comporta incorrectamente no puede provocar errores en otros complementos.También contribuye a garantizar que, cuando se cierra la aplicación, todos los ensamblados de complemento se descargan de la memoria.Para obtener más información sobre dominios de aplicación, vea Dominios de aplicación.

[!NOTA]

Los complementos que se crean con las herramientas de desarrollo de Office en Visual Studio están diseñados de modo que se usen solamente cuando la aplicación host de Microsoft Office la inicia un usuario final.Si se inicia la aplicación mediante programación (por ejemplo, utilizando Automatización), es posible que el complemento no funcione según lo previsto.

Componentes de los complementos

Aunque el ensamblado de complemento es el componente principal, hay algunos otros componentes que representan un rol importante en el modo en que Microsoft Office detecta las aplicaciones y carga los complementos.

Bb386298.collapse_all(es-es,VS.110).gifEntradas del Registro

Para detectar los complementos, las aplicaciones de Microsoft Office buscan un conjunto de entradas del Registro.Para obtener una lista completa de las entradas del Registro que utilizan los complementos, vea Entradas del Registro de complementos de nivel de aplicación.

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

Si se utiliza 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.

Bb386298.collapse_all(es-es,VS.110).gifManifiesto de implementación y manifiesto de aplicación

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

Bb386298.collapse_all(es-es,VS.110).gifMotor en tiempo de ejecución de Visual Studio Tools para Office

Para ejecutar agregar- INS creadas con las herramientas de desarrollo de Office en Visual Studio, el usuario final que los equipos deben tener Runtime de Microsoft Visual Studio Tools para Office instalado. El runtime incluye componentes no administrados y un conjunto de ensamblados administrados.Los componentes no administrados cargan el ensamblado de complemento.Los ensamblados administrados proporcionan el modelo de objetos que utiliza el código del complemento para automatizar y extender la aplicación host.

Para obtener más información, vea Información general sobre el Motor en tiempo de ejecución de Microsoft Visual Studio Tools para Office.

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

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

Arquitectura de complementos

Arquitectura de complementos de Office 2007

[!NOTA]

En las soluciones de Office destinadas .NET Framework 4 o .NET Framework 4.5, soluciones llama al modelo de objetos de la aplicación host utilizando la información de tipo de PIA que se incrusta en el ensamblado de la solución, en lugar de la llamada del PIA directamente.Para obtener más información, vea Diseñar y crear soluciones de Office.

Bb386298.collapse_all(es-es,VS.110).gifProceso de carga

Los siguientes pasos tienen lugar cuando un usuario inicia una aplicación:

  1. La aplicación comprueba si el Registro contiene entradas que identifican complementos que se crearon con las herramientas de desarrollo de Office en Visual Studio.

  2. Si la aplicación encuentra estas entradas del Registro, la aplicación carga VSTOEE.dll, que, a su vez, carga VSTOLoader.dll.Se trata de archivos DLL no administrados que son componentes de cargador para Visual Studio 2010 Tools para Office Runtime.Para obtener más información, vea Información general sobre el Motor en tiempo de ejecución de Microsoft Visual Studio Tools para Office.

  3. VSTOLoader.dll carga .NET Framework e inicia la parte administrada del Runtime de Microsoft Visual Studio Tools para Office.

  4. El Runtime de Microsoft Visual Studio Tools para Office busca actualizaciones de los manifiestos y descarga las versiones más recientes de los manifiestos de aplicación e implementación.

  5. El Runtime de Microsoft Visual Studio Tools para Office realiza una serie de comprobaciones de seguridad.Para obtener más información, vea Asegurar las soluciones de Office.

  6. Si se confía en el complemento para que se ejecute, el Runtime de Microsoft Visual Studio Tools para Office utiliza los manifiestos de implementación y aplicación para buscar actualizaciones del ensamblado.Si una nueva versión del ensamblado está disponible, el motor en tiempo de ejecución descarga la nueva versión del ensamblado en la memoria caché de ClickOnce del equipo cliente.Para obtener más información, vea Implementar una solución de Office.

  7. El Runtime de Microsoft Visual Studio Tools para Office crea un nuevo dominio de aplicación en el que se va a cargar el ensamblado de complemento.

  8. El Runtime de Microsoft Visual Studio Tools para Office carga dicho ensamblado en el dominio de aplicación.

  9. El Runtime de Microsoft Visual Studio Tools para Office llama al método RequestComAddInAutomationService del complemento, si se ha reemplazado.

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

  10. El Runtime de Microsoft Visual Studio Tools para Office llama al método RequestService del complemento, si se ha reemplazado.

    Si lo desea, puede reemplazar este método para extender una característica de Microsoft Office; para ello, debe devolver un objeto que implemente una interfaz de extensibilidad.Para obtener más información, vea Personalizar características de la interfaz de usuario mediante interfaces de extensibilidad.

    [!NOTA]

    El Runtime de Microsoft Visual Studio Tools para Office realiza llamadas independientes al método RequestService para cada interfaz de extensibilidad admitida por la aplicación host.Aunque la primera llamada al método RequestService normalmente se produce antes de la llamada al método ThisAddIn_Startup, el complemento no debería tener ninguna idea preconcebida acerca de cuándo o cuántas veces se llamará al método RequestService.

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

Vea también

Conceptos

Arquitectura de las personalizaciones de nivel de documento

Información general sobre el Motor en tiempo de ejecución de Microsoft Visual Studio Tools para Office

Otros recursos

Arquitectura de las soluciones de Office en Visual Studio

Programar complementos de nivel de aplicación

Desarrollar soluciones de Office

Asegurar las soluciones de Office

Implementar una solución de Office