Lorsqu'un projet VSIX contenant des composants MEF est installé, comment Visual Studio trouve-t-il les composants MEF? Je sais que le moyen habituel pourrait être d'ajouter des catalogues de répertoires dll contenant les parties MEF. Comment Visual Studio sait-il où trouver le MEF dans le projet VSIX?Comment Visual Studio trouve-t-il les composants MEF dans le projet VSIX?
Répondre
Visual Studio Extensions (VSIX) contient généralement une classe de package VS, un fichier extension.vsixmanifest et zéro ou plusieurs fichiers PKGDEF qui ont fourni des informations d'initialisation de métadonnées et d'extension à l'EDI.
VS est informé des composants MEF via un enregistrement MefComponent dans le fichier extension.vsixmanifest qui indique qu'un assembly spécifique doit être analysé lors de la génération du cache MEF. La manière la plus simple de déclarer un composant MEF dans votre extension est de faire un clic droit sur le projet, de sélectionner 'Nouvel élément' et d'ajouter un paquet à votre projet. Cela fournira le fichier source.extension.vsixmanifest auquel vous pouvez ajouter l'enregistrement du composant MEF. Double-cliquez sur ce fichier et ajoutez votre inscription dans l'onglet "Assets" du concepteur de manifeste VSIX.