【发布时间】:2011-05-05 13:08:17
【问题描述】:
我有一个 CLSID,我需要在我的工作机器所在的不同服务器(即 DCS )中实例化它(即 MWS )。
现在,如果我使用以下内容:
var type = Type.GetTypeFromCLSID(new Guid(CLSID),
Environment.MachineName, true);
var COMObject = Activator.CreateInstance(type);
var returnValue = COMObject.GetType().InvokeMember(methodName,
flags, null, COMObject, args, argModifiers, null, null);
然后我得到“COM 目标没有实现 IDispatch”错误。好的,我知道 COM 目标对象可能没有 IDispatch,所以它失败了。
现在尝试其他方法,如果我在 VS 中添加该 COM DLL 的引用,则 VS 生成互操作程序集,然后一切都像常规的 .net 对象创建一样工作,但在这种情况下,对象实际上是在我的本地生成的机器(MWS pc)没有进入我想要的服务器。
各位有什么建议我该如何处理这种情况?
提前致谢。
【问题讨论】:
-
是的,导出到 msi 解决了这个问题。