【发布时间】:2010-08-15 19:32:00
【问题描述】:
这就是问题所在...如果我使用,比如说 MEF 中的目录目录并拥有 some.dll 和 some.dll 的副本,我将获得双倍的导出,即使它们定义相同的类型,是否存在有什么办法解决这个问题?
编辑:问题不在于这个特定问题,这只是一个实际问题的抽象示例,例如,如果我有一个“扩展”文件夹,以及一种手动导入的方法......它只是一些东西那会很好处理。
【问题讨论】:
标签: c# .net mef redundancy
这就是问题所在...如果我使用,比如说 MEF 中的目录目录并拥有 some.dll 和 some.dll 的副本,我将获得双倍的导出,即使它们定义相同的类型,是否存在有什么办法解决这个问题?
编辑:问题不在于这个特定问题,这只是一个实际问题的抽象示例,例如,如果我有一个“扩展”文件夹,以及一种手动导入的方法......它只是一些东西那会很好处理。
【问题讨论】:
标签: c# .net mef redundancy
您可以使用 FilteredCatalog(不是核心 MEF 分发的一部分)执行此操作。请参阅此处的示例:http://mef.codeplex.com/wikipage?title=Filtering%20Catalogs
您可以使用Distinct,而不是通过Where 从内部目录中进行选择。要比较 ComposablePartDefinitions 是否相等,最简单的选择是使用 ToString,但也可以选择转换为 ReflectionComposablePartDefinition。
HTH, 尼克
【讨论】:
有没有办法解决这个问题?
想到两个选项:
【讨论】: