Procédure pas à pas : création de DLL satellites managées

Mise à jour : novembre 2007

Les DLL satellites sont utiles pour stocker les fichiers de ressources, tels que les icônes, les bitmaps et les chaînes de ressources, à un emplacement centralisé pour une utilisation dans les compléments et les autres projets d'automation. Les DLL satellites peuvent être réutilisées par d'autres projets ou compléments. En outre, en séparant les chaînes et autres ressources de votre complément, il est plus facile d'apporter des modifications centralisées ou de localiser les ressources dans des langues différentes.

Visual Studio .NET 2002 et Visual Studio .NET 2003 utilisaient des entrées du Registre pour SatelliteDllPath et SatelliteDllName. Toutefois, dans Visual Studio 2005, les entrées du Registre sont remplacées par les entrées du fichier d'inscription .Addin. Lorsque vous avez besoin d'une ressource dans votre projet, chargez le complément afin que Visual Studio l'interroge pour obtenir la DLL satellite, tout comme les autres composants managés. Par conséquent, il n'est pas nécessaire de coder en dur un chemin de ressource. En outre, au lieu d'utiliser la méthode #id pour spécifier un ID de ressource, utilisez @<NomRessource> (où <NomRessource> est le nom de votre ressource, tel que @Icon1 ou @String1). Le symbole @ indique à Visual Studio de rechercher la ressource dans la DLL satellite.

Créer des DLL satellites managées

La procédure suivante montre comment créer une DLL satellite contenant des ressources de type icône et chaîne et comment modifier un complément pour l'accès à ces ressources. Elle utilise un complément qui dispose d'une boîte de dialogue À propos de et qui requiert des ressources de type icône et chaîne. En règle générale, si vous créez un complément assorti d'une boîte de dialogue À propos de, une icône et un texte par défaut sont fournis. La procédure suivante indique comment les remplacer par une icône et un texte de votre choix.

Pour créer une DLL satellite managée

  1. Dans le menu Fichier, pointez sur Nouveau, puis cliquez sur Projet.

    La boîte de dialogue Nouveau projet s'affiche.

  2. Développez Autres types de projets, puis sélectionnez Projets d'extensibilité.

  3. Dans le volet Modèles, sélectionnez Complément Visual Studio.

  4. Suivez les instructions de l'Assistant Complément Visual Studio. Dans la page Choisir les informations contenues dans 'À propos de', activez la case à cocher Oui, je souhaite que mon complément propose une boîte de dialogue 'À propos de'. Acceptez les choix par défaut restants.

  5. Dans l'Explorateur de solutions, sélectionnez votre projet Complément et, dans le menu Projet, cliquez sur Afficher tous les fichiers.

  6. Dans le menu Projet, cliquez sur Ajouter une référence.

  7. Dans l'onglet .NET, cliquez sur System.Drawing, puis sur OK.

  8. Cliquez avec le bouton droit sur le projet Complément dans l'Explorateur de solutions.

  9. Pointez sur Ajouter, puis cliquez sur Nouvel élément.

  10. Sélectionnez Fichier de ressources dans la liste Modèles et cliquez sur le bouton Ajouter. Conservez le nom par défaut (Resources1.resx).

    L'Éditeur de ressourcesVisual Studio démarre.

    Par défaut, un fichier de ressources appelé Resource1.resx est créé.

  11. Dans Resource1.resx, sélectionnez Icônes au début de la liste déroulante Chaînes (le bouton le plus à gauche, en haut).

  12. Dans la liste déroulante Ajouter une ressource, cliquez sur Ajouter une nouvelle icône. Pour le moment, conservez le nom par défaut (Icon1.bmp) et cliquez sur Ajouter.

    Vous pouvez également sélectionner une image bitmap existante pour l'icône, à condition qu'elle soit au format 16 x 16 pixels et 16 couleurs ou Couleurs vraies. Les icônes personnalisées pour les compléments doivent être au format 16 x 16 pixels et 16 couleurs ou Couleurs vraies.

  13. Une fois l'icône ouverte dans l'Éditeur d'icônes, utilisez les outils pour la modifier. Lorsque vous avez terminé, fermez l'Éditeur d'icônes et enregistrez vos modifications.

  14. Sélectionnez Ajouter une nouvelle chaîne dans la liste déroulante Ajouter une ressource.

  15. Cliquez sur la première zone dans la colonne Nom.

    Une nouvelle ressource de type chaîne par défaut appelée String1 est créée.

  16. Tapez Ligne un dans la zone Valeur.

    Il s'agit de la valeur de la première ressource de type chaîne.

  17. Créez deux autres ressources de type chaîne, en les nommant "Ligne deux" et "Ligne trois".

  18. Fermez l'Éditeur de ressources et enregistrez les modifications.

  19. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur Resource1.resx, puis sélectionnez Propriétés.

  20. Dans la fenêtre Propriétés, modifiez l'action de génération en remplaçant Ressource incorporée par Aucun.

    Cela empêche la génération de la ressource en assembly du complément.

  21. Générez le projet.

  22. Créez la DLL de ressource satellite. La génération de la DLL satellite est réalisée en deux étapes, à l'aide de ResGen, puis d'AL (Assembly Linker).

    1. Cliquez sur le bouton Démarrer de Windows, pointez sur Tous les programmes, sur Microsoft Visual Studio 2005, sur Visual Studio Tools, puis cliquez sur Invite de commandes Microsoft Visual Studio 2005.

      Certaines variables d'environnement sont alors définies et vous pouvez référencer les outils Visual Studio plus facilement.

    2. À l'invite de commandes, accédez au dossier contenant le fichier .resx et tapez Resgen Resource1.resx.

      Resgen est un utilitaire qui compile le fichier .resx spécifié en fichier .resources. Pour plus d'informations, consultez Outil Resource File Generator Tool (Resgen.exe).

    3. De nouveau, à l'invite de commandes, tapez : Al.exe /embed:Resource1.resources /culture:en-US /out:<Add-In Name>.resources.dll.

      Remplacez <NomComplément> par le nom de votre complément. Par exemple, si votre projet Complément est appelé MyAddin, le commutateur /out: sera /out:MyAddin.resources.dll. Le nom /out: doit correspondre au nom de votre projet ou la DLL de ressource sera introuvable.

      L'utilitaire Al.exe (Assembly Linker) convertit le fichier .resources spécifié en une DLL que vous pouvez référencer dans votre complément. (Vous pouvez remplacer la valeur du commutateur /culture par une langue autre que l'anglais.) Pour plus d'informations, consultez Assembly Linker (Al.exe).

  23. À l'aide de l'Explorateur Windows, recherchez le répertoire de la DLL du complément et créez un dossier nommé en-US (pour l'anglais des États-Unis, parce que vous avez tapé en-US comme valeur de culture dans AL).

  24. Copiez le fichier <NomComplément>.resources.dll dans le nouveau dossier en-US.

  25. À l'aide de l'Explorateur Windows, accédez au répertoire Addins. En règle générale, <lecteur>:\Documents and Settings\<nom_utilisateur>\My Documents\Visual Studio 2005\Addins.

  26. Modifiez le fichier de définition du complément Visual Studio en procédant comme suit :

    1. Cliquez avec le bouton droit sur le fichier de définition de votre complément et sélectionnez Ouvrir avec dans le menu contextuel. Sélectionnez Bloc-notes dans la liste des programmes.

    2. Au sein des balises <Addin></Addin>, apportez les modifications suivantes :

      <Addin>
          <FriendlyName>@String1</FriendlyName>
          <Description>@String2</Description>
          <AboutBoxDetails>@String3</AboutBoxDetails>
          <AboutIconData>@Icon1</AboutIconData>
          <Assembly><installation root>\my documents\visual studio 2005\Projects\MyAddin1\MyAddin1\bin\MyAddin1.dll</Assembly>
          <FullClassName>MyAddin1.Connect</FullClassName>
          <LoadBehavior>0</LoadBehavior>
          <CommandPreload>0</CommandPreload>
          <CommandLineSafe>0</CommandLineSafe>
      </Addin>
      

      Remplacez la <racine d'installation> comprise entre les balises <Assembly></Assembly> par le chemin d'accès au fichier situé sur votre ordinateur.

      L'entrée Friendlyname renomme votre complément Ligne un, nom que vous avez saisi pour String1 dans le fichier Resource1.resx. La description de la boîte de dialogue À propos de contient désormais « Ligne deux », et l'entrée AboutIconData correspond à l'icône de la boîte de dialogue À propos de créée à l'étape sept (7).

  27. Régénérez le projet et sélectionnez le complément dans le Gestionnaire de compléments.

  28. Dans le menu ? (Aide), cliquez sur la commande À propos de Microsoft Visual Studio et sélectionnez Ligne un (nom de votre complément) dans la liste.

    La boîte de dialogue À propos de présente votre nouvelle icône personnalisée ainsi que les trois chaînes que vous avez créées.

Voir aussi

Tâches

Comment : accéder aux ressources dans les DLL satellites

Concepts

Inscription d'un complément