这可能有些困难,但.NET的灵活性从未停止过惊叹,所以我们来看看。
我正在开发一个MVC应用程序,需要搜索一组程序集中基于共同基类派生的类类型。
例如,我有几个程序集,它们具有各种派生自ActivityBase的活动类型。这些程序集将放置在特定目录中,有点像插件。由于它们需要在运行时动态加载,因此还需要一些依赖项(除非我能找到一个方便的方法来将它们分开,否则请随时提出建议)。
我编写了代码来遍历此目录中所有.DLL文件,加载程序集,并遍历程序集中的所有类型以查找派生自ActivityBase的类。
这很好用。然而,我想避免加载和搜索没有活动的程序集,因为其中一些依赖项具有数千个类型,这会导致性能问题。
那么,我的问题是,有没有除文件命名约定之外的装饰程序集的方法,可以指示它是活动程序集,并且在构建时很容易自动化且在运行时易于读取?
欢迎提出任何其他处理此问题的建议。
我正在开发一个MVC应用程序,需要搜索一组程序集中基于共同基类派生的类类型。
例如,我有几个程序集,它们具有各种派生自ActivityBase的活动类型。这些程序集将放置在特定目录中,有点像插件。由于它们需要在运行时动态加载,因此还需要一些依赖项(除非我能找到一个方便的方法来将它们分开,否则请随时提出建议)。
我编写了代码来遍历此目录中所有.DLL文件,加载程序集,并遍历程序集中的所有类型以查找派生自ActivityBase的类。
这很好用。然而,我想避免加载和搜索没有活动的程序集,因为其中一些依赖项具有数千个类型,这会导致性能问题。
那么,我的问题是,有没有除文件命名约定之外的装饰程序集的方法,可以指示它是活动程序集,并且在构建时很容易自动化且在运行时易于读取?
欢迎提出任何其他处理此问题的建议。