Ce Danielg dit est bien. Je voudrais ajouter:
Si vous regardez les vidéos sur le Système.Addins, ils sont clairement parler de projets de très grande envergure. Il parle d'une équipe de gestion de l'application hôte, une autre équipe de la gestion de chaque add-in, et un troisième de l'équipe de gestion du contrat et le pipeline. Sur cette base, je pense que le Système.Addins est clairement pour des applications plus importantes. Je pense à des applications telles que les systèmes ERP tels que SAP (peut-être pas très grandes, mais vous voyez l'idée). Si vous avez regardé ces vidéos, vous pouvez dire que la quantité de travail à utiliser le Système.Addins est très grand. Il fonctionnerait bien si vous aviez beaucoup d'entreprises de programmation de la 3e partie add-ins pour votre système et vous ne pouvez pas casser l'un de ces modules dans les contrats sous peine de mort.
D'autre part, le MEF semble partager plus de similitudes pour SharpDevelop complémentaires dans le schéma, le plugin Eclipse en architecture ou en Mono.Addins. Il est beaucoup plus facile à comprendre que le Système.Addins et je crois que c'est beaucoup plus flexible. Les choses que vous perdez sont que vous n'obtenez pas le domaine d'application de l'isolement ou de fort gestion des versions des contrats out-of-the-box avec le MEF. Du MEF sont les points forts que vous pouvez structurer l'ensemble de votre application sous forme d'une composition de parties, de sorte que vous pouvez expédier votre produit dans différentes configurations pour différents clients, et si le client achète une nouvelle fonctionnalité, il suffit de les déposer la partie pour cette fonctionnalité dans leur répertoire d'installation et voit l'application et de l'exécution. Il facilite également les tests. Vous pouvez instancier l'objet que vous souhaitez tester et nourrir les objets fantaisie pour toutes ses dépendances, mais lorsqu'il s'exécute comme un composé d'application, le processus de composition automatiquement crochets réelle, l'ensemble des objets ensemble.
Le point le plus important que je voudrais mentionner est que, même si le Système.Addins est dans le cadre déjà, je ne vois pas beaucoup de preuves de personnes qui l'utilisent, mais MEF est juste assis là sur CodePlex soi-disant pour être inclus dans .NET 4, et les gens sont déjà en train de construire un grand nombre d'applications avec elle (moi y compris). Je pense que vous dit quelque chose à propos de ces deux cadres.