Architecture des compléments VSTO

Les compléments VSTO créés à l'aide des Outils de développement Office dans Visual Studio ont des fonctionnalités en termes d'architecture qui mettent l'accent sur la stabilité et la sécurité, et qui leur permettent de fonctionner étroitement avec Microsoft Office. Cette rubrique décrit les aspects suivants des compléments VSTO :

Comprendre les compléments VSTO

Lorsque vous utilisez les outils de développement Bureau dans Visual Studio pour générer un complément VSTO, vous créez un assembly de code managé chargé par une application Office lication Microsoft. Une fois l’assembly chargé, le complément VSTO peut répondre aux événements déclenchés dans l’application (par exemple, quand un utilisateur clique sur un élément de menu). Le complément VSTO peut également appeler le modèle objet pour automatiser et étendre l’application, et peut utiliser l’une des classes du .NET Framework.

L'assembly communique avec les composants COM de l'application à travers l'assembly PIA (Primary Interop Assembly) de celle-ci. Pour plus d’informations, consultez Bureau principaux assemblys d’interopérabilité et vue d’ensemble du développement de solutions Bureau (VSTO).

Si plusieurs compléments VSTO sont installés pour une même application, chaque complément VSTO est chargé dans un domaine d’application différent. Cela signifie qu’un complément VSTO dont le fonctionnement est incorrect ne peut pas entraîner la défaillance d’autres compléments VSTO. Cela permet également de vérifier que tous les assemblys du complément VSTO sont déchargés de la mémoire à la fermeture de l’application. Pour plus d’informations sur les domaines d’application, consultez Domaines d’application.

Remarque

Les compléments VSTO que vous créez à l'aide des Outils de développement Office dans Visual Studio sont conçus pour être utilisés seulement quand l'application Microsoft Office hôte est démarrée par un utilisateur final. Si l’application est démarrée par programmation (par exemple, à l’aide d’Automation), le complément VSTO risque de ne pas fonctionner correctement.

Composants des compléments VSTO

Bien que l’assembly du complément VSTO soit le composant principal du complément, il existe plusieurs autres composants qui jouent un rôle important dans la manière dont les applications Microsoft Office découvrent et chargent les compléments VSTO.

Entrées du Registre

Les applications Microsoft Office découvrent des compléments VSTO en recherchant un jeu d'entrées du Registre. Pour obtenir la liste complète des entrées de Registre utilisées par les compléments VSTO, consultez les entrées de Registre pour les compléments VSTO.

Quand vous générez votre solution, Visual Studio crée toutes les entrées de Registre obligatoires sur l’ordinateur de développement pour que vous puissiez déboguer et exécuter votre complément VSTO. Pour plus d’informations, consultez Générer des solutions Bureau.

Si vous utilisez ClickOnce pour déployer votre solution, le programme d’installation généré par le processus de publication crée automatiquement les clés de Registre sur l’ordinateur de l’utilisateur final. Pour plus d’informations, consultez Déployer une solution Bureau à l’aide de ClickOnce.

Manifeste de déploiement et manifeste d’application

Les compléments VSTO utilisent des manifestes de déploiement et des manifestes d’application pour identifier et charger la version la plus récente de l’assembly du complément VSTO. Le manifeste de déploiement pointe vers le manifeste d'application actuel. Le manifeste de l’application pointe vers l’assembly du complément VSTO et spécifie la classe de point d’entrée à exécuter dans l’assembly. Pour plus d’informations, consultez les manifestes d’application et de déploiement dans les solutions Bureau.

Visual Studio Tools pour Office Runtime

Pour exécuter des compléments VSTO créés à l’aide des outils de développement Bureau dans Visual Studio, les ordinateurs de l’utilisateur final doivent avoir installé le runtime Visual Studio Tools pour Office. Le runtime inclut des composants non managés et un jeu d'assemblys managés. Les composants non managés chargent l’assembly du complément VSTO. Les assemblys managés fournissent le modèle objet que votre code de complément VSTO utilise pour automatiser et étendre l’application hôte.

Pour plus d’informations, consultez Visual Studio Tools pour Office vue d’ensemble du runtime.

Fonctionnement des compléments VSTO avec les applications Microsoft Office

Quand un utilisateur démarre une application Microsoft Office, l’application utilise le manifeste de déploiement et le manifeste de l’application pour trouver et charger la version la plus récente de l’assembly du complément VSTO. L'illustration suivante montre l'architecture de base de ces compléments VSTO.

2007 Office add-in architecture

Remarque

Dans Bureau solutions qui ciblent .NET Framework 4 ou .NET Framework 4.5, les solutions appellent le modèle objet de l’application hôte à l’aide d’informations de type PIA incorporées dans l’assembly de solution, au lieu d’appeler directement dans l’assembly de solution. Pour plus d’informations, consultez Conception et création de solutions Bureau.

Processus de chargement

Les étapes suivantes se produisent quand un utilisateur démarre une application :

  1. L'application vérifie dans le Registre les entrées qui identifient des compléments VSTO créés à l'aide des Outils de développement Office dans Visual Studio.

  2. Si l'application trouve de telles entrées, elle charge VSTOEE.dll, qui charge à son tour VSTOLoader.dll. Il s'agit de DLL non managées qui sont les composants du chargeur pour Visual Studio 2010 Tools pour Office Runtime. Pour plus d’informations, consultez Visual Studio Tools pour Office vue d’ensemble du runtime.

  3. VSTOLoader.dll charge le .NET Framework et démarre la partie managée du runtime Visual Studio Tools pour Office.

  4. Le runtime Visual Studio Tools pour Office case activée pour les mises à jour de manifeste et télécharge les manifestes d’application et de déploiement les plus récents.

  5. Le runtime Visual Studio Tools pour Office effectue une série de case activée de sécurité. Pour plus d’informations, consultez Solutions de Bureau sécurisées.

  6. Si le complément VSTO est approuvé pour s’exécuter, le runtime Visual Studio Tools pour Office utilise le manifeste de déploiement et le manifeste d’application pour case activée pour les mises à jour d’assembly. Si une nouvelle version de l’assembly est disponible, le runtime télécharge la nouvelle version de l’assembly dans le cache ClickOnce sur l’ordinateur client. Pour plus d’informations, consultez Déployer une solution Bureau.

  7. Le runtime Visual Studio Tools pour Office crée un domaine d’application dans lequel charger l’assembly de complément VSTO.

  8. Le runtime Visual Studio Tools pour Office charge l’assembly de complément VSTO dans le domaine d’application.

  9. Le runtime Visual Studio Tools pour Office appelle la RequestComAddInAutomationService méthode dans votre complément VSTO, si vous l’avez remplacée.

    Vous pouvez éventuellement substituer cette méthode pour exposer un objet de votre complément VSTO à d’autres solutions Microsoft Office. Pour plus d’informations, consultez Call code in VSTO Add-ins from other Bureau solutions.

  10. Le runtime Visual Studio Tools pour Office appelle la RequestService méthode dans votre complément VSTO, si vous l’avez remplacée.

    Vous pouvez éventuellement substituer cette méthode pour étendre une fonctionnalité Microsoft Office en retournant un objet qui implémente une interface d'extensibilité. Pour plus d’informations, consultez Personnaliser les fonctionnalités de l’interface utilisateur à l’aide d’interfaces d’extensibilité.

    Remarque

    Le runtime Visual Studio Tools pour Office effectue des appels distincts à la RequestService méthode pour chaque interface d’extensibilité prise en charge par l’application hôte. Bien que le premier appel à la méthode RequestService se produise généralement avant l’appel à la méthode ThisAddIn_Startup , votre complément VSTO ne doit pas établir d’hypothèses concernant le moment où la méthode RequestService est appelée, ou le nombre de fois où elle est appelée.

  11. Le runtime Visual Studio Tools pour Office appelle la ThisAddIn_Startup méthode dans votre complément VSTO. Cette méthode est le gestionnaire d'événements par défaut pour l'événement Startup . Pour plus d’informations, consultez Événements dans Bureau projets.