在我们的其中一个 Java EE 环境中,我们能够将模块封装在 java ear 文件中,并将它们部署到我们的 JBoss 环境中,以便用户可以使用它们。在 .Net 世界中,如何在运行时环境中实现类似的功能?这是MEF的用武之地吗?还是会以完全不同的方式处理它?
任何建议将不胜感激。
谢谢,
小号
您可以将它们编译为单独的程序集。这些模块程序集可以与您的主应用程序分开分发。
在 MEF 中组合对象时,可以指定DirectoryCatalog
(或ApplicationCatalog
) 以包含给定目录中所有程序集的所有模块:
var catalog = new DirectoryCatalog(".\modules");
var container = new CompositionContainer(catalog);