这个程序有一个插件机制。每个插件对数据遵循不同的处理策略。这个想法是,用户可以在插件中创建自己的处理策略,而不必去触摸程序的代码。该软件是一个基于服务器的应用程序,它永远不会终止。问题是:如果用户提供自己的插件,但他的代码抛出一个未处理的异常,怎么办?这将使应用程序崩溃,服务器将脱机。考虑到插件总是创建一个从库和插件都可见的类派生的对象,那么显而易见的解决方案是:
class AbstractSol
我有一个解决方案,包括几个项目。少数是构建dll的libs,它们在我的解决方案中的主要项目中使用。一切都很好。当我将构建输出类型更改为类库时(因为我希望最终将该项目用作插件)。该项目仍将生成,这一次是一个dll。但是,当我在应用程序中使用这个插件作为dll使用时,它会运行到某个特定的点,它试图加载外部dll中定义的类型(所以不是由我的解决方案构建的)并抛出异常:
Could not load type