我正在开发一个带有插件的应用程序。我有一个包含所有 API 接口的单独 API 程序集。
主应用程序从 dll 动态加载插件:
object pi = Assembly.LoadFrom(plugin.AssemblyPath)
.CreateInstance(plugin.ClassName);
然后我将它转换为实际的插件类型:
IPlugin pluginInstance = (IPlugin)pi;
当没有签署任何程序集时,所有这些都可以正常工作。一旦我签署它们(主应用程序、API 组件和插件组件),它就无法投射,抛出:
无法将“.MyPlugin”类型的对象转换为“.IPlugin”类型。
有什么建议么?