2008-12-10 9 views
0

J'ai une application winforms qui a beaucoup d'implémentations de IOrderDataLoader. D'autres équipes commencent à créer leurs propres implémentations de IOrderDataLoader. Nous avons donc changé notre application pour regarder dans un répertoire de Dll et charger toutes les classes qui implémentent IOrderDataLoader en utilisant la réflexion. De cette façon, les autres groupes peuvent déployer leurs DLL par eux-mêmes et l'application principale les charge à la demande.Injection de dépendances lors du chargement de l'assemblage dynamique

Le problème est l'une des implémentations que nous avons en tant que projet interne que nous essayons de déplacer dans son propre déploiement a un certain nombre de dépendances. Comment puis-je le sortir et le charger avec toutes les dépendances? Tous les autres chargeurs de données ont des constructeurs vides donc je fais simplement une boucle. .

Répondre

2

Essayez de regarder le Managed Extensibility Framework. C'est un cadre pour faire ce que vous avez déjà fait, et prend en charge l'injection de dépendance dans le style que vous demandez.

+0

Sauf MEF ne fonctionne pas avec EntLib. Ils devraient vraiment avoir conçu MEF pour seulement "découvrir" et déléguer le "build" de nouveau à l'aide de l'unité. –

+0

@Sleeper Smith: Jetez un oeil à l'intégration MEF/Unity dans le projet MEF Contrib: http://mefcontrib.codeplex.com/wikipage?title=Unity%20Integration –

Questions connexes