如何从引用的NuGet包中获得实现特定接口的类型?



我正试图找到一种方法来获得实现一些接口的所有类,这些类的位置在引用的NuGet包中。

我知道如何通过使用Assembly.GetReferencedAssemblies来引用dll文件。但是我该如何探索NuGet包呢?是否有一些金块可以帮助完成这项任务?

我试着去看PackageManager类,但是我没有找到我想要的。

正如Klaus在注释中所说,在运行时您仍然在处理程序集。所以你可以使用你正在使用的技术。

为了避免扫描每个程序集,您可以在目标程序集(NuGet包)中选择一个类型,获取其Assembly属性,并从中加载类型。

typeof(SomeTypeInSomeNuGetPackageAssembly).Assembly
.GetTypes()
.Where(x => x.GetInterface("...") != null)
...

相关内容

  • 没有找到相关文章

最新更新