Procédure pas à pas : création de DLL satellites managées
Dans vs_dev12, les compléments sont déconseillés. Nous vous recommandons de mettre vos compléments à niveau aux extensions VSPackage. Pour plus d'informations sur la mise à niveau, consultez FAQ : conversion de compléments en extensions VSPackage.
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.
Les versions antérieures de Visual Studio utilisaient des entrées du Registre pour SatelliteDllPath et SatelliteDllName. Les entrées du Registre sont désormais remplacées par les entrées du fichier d'inscription .addin. Lorsque vous avez besoin d'une ressource pour votre projet, vous devez charger le complément. Visual Studio envoie alors une requête pour la DLL satellite. Par conséquent, vous n'avez pas à coder en dur un chemin d'accès aux ressources. Aussi, au lieu d'utiliser la méthode #id pour spécifier un ID de ressource, vous utilisez @resource name (où resource name est le nom de votre ressource, par exemple, @Icon1 ou @String1). Le symbole @ dit à Visual Studio de rechercher la ressource dans la DLL satellite.
Créer des DLL satellites managées
Les étapes suivantes indiquent comment créer une DLL satellite contenant des ressources de type icône et chaîne et comment modifier un complément pour accéder à ces ressources. Elle utilise un complément disposant d'une boîte de dialogue À propos de et qui requiert des ressources de type icône et chaîne. En général, si vous créez un complément disposant d'une boîte de dialogue À propos de, une icône et du texte par défaut sont fournis. Les étapes suivantes indiquent également comment remplacer l'icône et le texte par défaut par les vôtres.
Pour créer une DLL satellite managée
Dans le menu Fichier, cliquez sur Nouveau, puis sur Projet.
Dans la boîte de dialogue Nouveau projet, développez Autres types de projets puis sélectionnez Projets d'extensibilité.
Dans le volet Modèles, sélectionnez Complément Visual Studio.
Suivez les instructions de l'Assistant Complément Visual Studio. Sur la page Choisir les informations contenues dans 'À propos de', sélectionnez Oui, je souhaite que mon complément propose une boîte de dialogue 'À propos de'. Acceptez les sélections par défaut restantes.
Dans le menu Projet, cliquez sur Ajouter une référence.
Dans l'onglet .NET, cliquez sur System.Drawing, puis sur OK.
Cliquez avec le bouton droit sur le projet de complément dans l'Explorateur de solutions, cliquez sur Ajouter puis cliquez sur Nouvel élément.
Sélectionnez Fichier de ressources dans la liste Modèles et cliquez sur Ajouter. Acceptez le nom par défaut (Resources1.resx).
Par défaut, cela crée un fichier de ressources nommé Resource1.resx et démarre l'Éditeur de ressources Visual Studio.
Dans Resource1.resx, sélectionnez Icônes dans la liste Chaînes (le bouton le plus à gauche, en haut).
Dans la liste 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.
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.
Sélectionnez Ajouter une nouvelle chaîne dans la liste Ajouter une ressource.
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.
Tapez Ligne un dans la zone Valeur.
Il s'agit de la valeur de la première ressource de type chaîne.
Créez deux autres ressources de type chaîne et nommez-les "Ligne deux" et "Ligne trois".
Fermez l'Éditeur de ressources et enregistrez les modifications.
Dans l'Explorateur de solutions, cliquez avec le bouton droit sur Resource1.resx, puis cliquez sur Propriétés.
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.
Générez le projet.
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).
Dans le menu Démarrer, cliquez successivement sur Tous les programmes, Microsoft Visual Studio 2010, Visual Studio Tools puis sur Invite de commandes de Microsoft Visual Studio (2010).
Certaines variables d'environnement sont alors définies et vous pouvez référencer les outils Visual Studio plus facilement.
À 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 Resgen.exe (Resource File Generator).
À l'invite de commande, tapez AL.exe /embed:Resource1.resources /culture:en-US /out:Add-In Name.resources.dll.
Remplacez Add-In Name en utilisant le nom de votre complément. Par exemple, si votre projet de complément est nommé MyAddin, le commutateur /out: est /out:MyAddin.resources.dll. Le nom du commutateur /out: doit correspondre au nom de votre projet; sinon, la DLL de ressource ne sera pas trouvée.
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 changer la langue du commutateur /culture) Pour plus d'informations, consultez Al.exe (Assembly Linker).
Dans l'Explorateur de fichiers, recherchez le répertoire de la DLL du complément et créez un dossier nommé \en-US\ (pour anglais des États-Unis, parce que vous avez tapé en-US comme valeur de culture dans AL.exe).
Copiez le fichier Add-In Name.resources.dll dans le nouveau dossier \en-US\.
Dans l'Explorateur de fichiers, accédez au répertoire\Addins\, en général, \Documents and Settings\user name\Mes documents\Visual Studio 2010\Addins\.
Modifiez le fichier de définition du complément Visual Studio comme suit :
Cliquez avec le bouton droit sur le fichier de définition de votre complément, cliquez sur Ouvrir avec puis sur Bloc-notes.
Remplacez les balises suivantes :
<FriendlyName>@String1</FriendlyName> <Description>@String2</Description> <AboutBoxDetails>@String3</AboutBoxDetails> <AboutIconData>@Icon1</AboutIconData>
L'entrée Friendlyname renomme votre complément Ligne un, nom que vous avez saisi pour String1 dans le fichier Resource1.resx. La description dans la boîte de dialogue À propos de contient désormais "Ligne 2" et l'entrée AboutIconData correspond à l'icône que vous avez créée pour la boîte de dialogue À propos de.
Insérez .resources avant l'extension du nom de l'assembly.
Régénérez le projet et sélectionnez le complément dans le Gestionnaire de compléments.
Dans le menu Aide, cliquez sur À propos de Microsoft Visual Studio et sélectionnez Ligne 1 (nom de votre complément) dans la liste.
L'icône personnalisée et les trois chaînes que vous avez créées sont affichées.
Voir aussi
Tâches
Comment : accéder aux ressources dans les DLL satellites