【问题标题】:How can I avoid redundant imports in MEF?如何避免 MEF 中的冗余导入?
【发布时间】:2010-08-15 19:32:00
【问题描述】:

这就是问题所在...如果我使用,比如说 MEF 中的目录目录并拥有 some.dll 和 some.dll 的副本,我将获得双倍的导出,即使它们定义相同的类型,是否存在有什么办法解决这个问题?

编辑:问题不在于这个特定问题,这只是一个实际问题的抽象示例,例如,如果我有一个“扩展”文件夹,以及一种手动导入的方法......它只是一些东西那会很好处理。

【问题讨论】:

    标签: c# .net mef redundancy


    【解决方案1】:

    您可以使用 FilteredCatalog(不是核心 MEF 分发的一部分)执行此操作。请参阅此处的示例:http://mef.codeplex.com/wikipage?title=Filtering%20Catalogs

    您可以使用Distinct,而不是通过Where 从内部目录中进行选择。要比较 ComposablePartDefinitions 是否相等,最简单的选择是使用 ToString,但也可以选择转换为 ReflectionComposablePartDefinition

    HTH, 尼克

    【讨论】:

      【解决方案2】:

      有没有办法解决这个问题?

      想到两个选项:

      • 删除冗余副本 组装
      • 不要使用目录编目。你 可以为每个添加装配目录 单独组装,然后离开 删除不需要的程序集。

      【讨论】:

        猜你喜欢
        • 2019-01-02
        • 2011-06-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-31
        • 1970-01-01
        • 2017-08-10
        • 1970-01-01
        相关资源
        最近更新 更多