Il est possible que si nous créons manuellement un FileSystemWatcher
et regardez le répertoire « parties » (ici quelques de dll dans le dossier) et le suivi des modifications, nous refléter les changements dans un récipient ce qui permet la recomposition.conteneur MEF mise à jour automatique à l'aide d'un répertoire catalogue
MEF
prend en charge la mise à jour automatique lorsque le Container
utilise un DirectoryCatalog
et le automatiquement pour nous?
Je l'ai fait comme vous le dites et tout est OK avec de nouvelles pièces mais je ne peux pas remplacer les pièces existantes. Il semble que MEF a mis un verrou sur mes DLLs. Comment remplacer dynamiquement des parties (chaque partie dans une seule DLL dans le dossier des plugins)? merci – Xaqron
@Xaqron C'est .NET qui a un verrou sur vos DLL. Vous ne pouvez pas décharger les assemblys d'un AppDomain, et pendant qu'ils sont chargés, il y aura normalement un verrou. Vous pouvez activer la copie miroir pour l'AppDomain pour vous permettre de supprimer les DLL. Ils seraient toujours chargés, mais DirectoryCatalog verrait qu'ils étaient partis lorsque vous avez appelé Actualiser et les supprimer du catalogue. –