gpt4 book ai didi

c# - 如何在 MEF 中枚举 AggregateCatalog 或 DirectoryCatalog 中的程序集?

转载 作者:太空狗 更新时间:2023-10-29 22:29:29 26 4
gpt4 key购买 nike

我有一个 MEF(Microsoft 扩展框架)应用程序,它从一个文件夹加载一些程序集。我需要枚举为我的应用程序生成任何导出的程序集。

一种方法是枚举调用 GetExportedObject().GetType().Assembly 的导入。但是在不实例化导入的情况下这样做会更干净。有没有办法从目录或其他任何地方获取加载的程序集?

我需要程序集来获取它们的属性,如版权、版本、名称等。我的文件夹可以包含带导出和不带导出的程序集,但我只需要满足应用程序中任何导入的程序集。

最佳答案

这是一种实现方式,在 Caliburn.Micro 中使用:

var aggregateCatalog = new AggregateCatalog(...);
var assemblies = aggregateCatalog.Parts
.Select(part => ReflectionModelServices.GetPartType(part).Value.Assembly)
.Distinct()
.ToList();

关于c# - 如何在 MEF 中枚举 AggregateCatalog 或 DirectoryCatalog 中的程序集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/859423/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com