C# 如何避免MEF中的冗余导入?
问题是。。。如果我使用MEF中的目录目录目录,并拥有some.dll和some.dll的副本,我将获得双倍的导出,即使它们定义的是相同的类型,有办法解决这个问题吗 编辑:问题不在于这个特定的问题,这只是一个真实问题的抽象示例,例如,如果我有一个“扩展”文件夹,并且有一种手动导入的方法。。。这是一件很好处理的事情 有办法解决这个问题吗 我想到两个选择:C# 如何避免MEF中的冗余导入?,c#,.net,mef,redundancy,C#,.net,Mef,Redundancy,问题是。。。如果我使用MEF中的目录目录目录,并拥有some.dll和some.dll的副本,我将获得双倍的导出,即使它们定义的是相同的类型,有办法解决这个问题吗 编辑:问题不在于这个特定的问题,这只是一个真实问题的抽象示例,例如,如果我有一个“扩展”文件夹,并且有一种手动导入的方法。。。这是一件很好处理的事情 有办法解决这个问题吗 我想到两个选择: 删除文件的冗余副本 装配 不要使用目录目录。你 可以为每个部件添加部件目录 单独组装,然后离开 清除不需要的组件 有办法解决这个问题吗 我想到
- 删除文件的冗余副本 装配
- 不要使用目录目录。你 可以为每个部件添加部件目录 单独组装,然后离开 清除不需要的组件
- 删除文件的冗余副本 装配
- 不要使用目录目录。你 可以为每个部件添加部件目录 单独组装,然后离开 清除不需要的组件
FilteredCatalog
(不是核心MEF发行版的一部分)执行此操作。请参见以下示例:
您可以使用Distinct
,而不是通过Where
从内部目录中进行选择。要比较ComposablePartDefinition
s是否相等,最简单的选项是使用ToString
,但强制转换到ReflectionComposablePartDefinition
也是一个选项
嗯,,
Nick您可以使用
FilteredCatalog
(不是核心MEF发行版的一部分)执行此操作。请参见以下示例:
您可以使用Distinct
,而不是通过Where
从内部目录中进行选择。要比较ComposablePartDefinition
s是否相等,最简单的选项是使用ToString
,但强制转换到ReflectionComposablePartDefinition
也是一个选项
嗯,,
尼克