我有一个应用程序,使用由接口管理的插件。然后我动态加载插件类并将其强制转换为接口以便使用它们。
我有以下代码行,假设IPlugin是我的接口。
IPlugin _plugin = (IPlugin)Activator.CreateInstance(oInfo.Assembly, oInfo.FullyQualifiedName)
这应该很简单,创建实例并将其转换为接口。我知道程序集和完全限定名称的值是正确的,但我遇到了以下异常。
异常= System.InvalidCastException:无法将类型为“System.Runtime.Remoting.ObjectHandle”的对象强制转换为类型“ MyNamespace.Components.Integration.IPlugin”。 在MyNamespace.Components.Integration.PluginProxy..ctor(Int32 instanceId)
有什么想法是什么原因引起的吗?
ObjectHandle
。请阅读文档。 - SLaks