Reflection C从引用的库中获取所有类型

Reflection C从引用的库中获取所有类型,reflection,.net-core,Reflection,.net Core,我正在尝试构建一个依赖关系管理工具。所以我需要从所有的库中获取所有的类 有三个项目是用C、.NETCore3.0编写的 项目A 项目B 项目C ProjectA是一个可执行的控制台应用程序 ProjectA引用ProjectB。ProjectB参考ProjectC 项目A->项目B->项目C 对于ProjectC中的代码: //在ProjectC中 Assembly.GetExecutionGassembly.GetTypes //它可以列出ProjectC中的所有类。 对于ProjectC中的

我正在尝试构建一个依赖关系管理工具。所以我需要从所有的库中获取所有的类

有三个项目是用C、.NETCore3.0编写的

项目A 项目B 项目C ProjectA是一个可执行的控制台应用程序

ProjectA引用ProjectB。ProjectB参考ProjectC

项目A->项目B->项目C

对于ProjectC中的代码:

//在ProjectC中 Assembly.GetExecutionGassembly.GetTypes //它可以列出ProjectC中的所有类。 对于ProjectC中的代码:

//在ProjectC中 Assembly.GetEntryAssembly.GetTypes //它可以列出ProjectA中的所有类。 但是我如何列出ProjectB中的所有类呢?ProjectC中的代码,由ProjectA运行

我有一个解决方案:

只需从条目程序集开始构建依赖关系树:

//在项目C中编写此代码。按项目A运行此代码。 //参赛作品是A。 var entry=Assembly.GetEntryAssembly; 进入 //这将得到类型为:`AssemblyName的B和C` .GetReferencedAssembly //加载组件B和C。 .select=>Assembly.Loadt //在B和C两门课上全班学习。 .SelectManyt=>t.GetTypes 托利斯特先生; 获取引用程序集的方法是:

Assembly.GetReferencedAssemblys方法


如果您有一个已知存在于每个程序集中的类型,那么获取它并从中获取程序集,例如:TypeOfTypeContainedAssemblyB.assembly。@Thehenny是的,这是一个解决方案。非常感谢。但我正在尝试建立一个库,它不知道它可能引用什么类。