我有一个插件程序集,它为它“插入”的应用程序引用了第 3 方程序集。然后我有一个实用程序来运行这个 3rd 方应用程序,将类的全名、程序集名称和要运行的插件中的方法传递给它。
我可以将这些细节硬编码为实用程序中的字符串常量。相反,我想在运行时使用反射来获取它们。插件类实现了一个特定的接口,并且该方法使用自定义属性进行了注释。所以我应该是有可能的。我在插件中添加了一个特定的反射类并调用它来获取详细信息。但它落在(代表)线上:
由于尝试加载第 3 方程序集之一,Assembly.GetExecutingAssembly().GetExportedTypes() 带有 FileNotFoundException。由于许可规则,我不想将该实用程序直接链接到这些第 3 方程序集。
所以我的问题是,如何在不触发其他引用程序集的尝试加载的情况下获取插件程序集中的类列表?有可能,还是我必须求助于我的字符串常量?