我有一个新的要求来改变我们引用COM +对象的方式。
之前可以通过“添加引用”添加它,并通过TypeLib
名称从列表中查找COM对象。
现在已经改变了,我试图找出如何使用Activator.CreateInstance创建实例。
到目前为止,我有以下内容:
var type = Type.GetTypeFromProgID("DllName.COMName", "serverName", false);
var comObject = Activator.CreateInstance(type);
调用方法时
comObject.GetType().InvokeMember("MyMethod", BindingFlags.Public | BindingFlags.InvokeMethod, null, COMObject, new object[1] { "12345" });
在远程计算机上执行代码时,我在调用期间得到UNKNOWN NAME (0x80020006)
,
...但是在开发机器上,呼叫通过没有任何问题。在远程计算机上,它记录异常!它让我发疯。
我发现了https://support.microsoft.com/en-us/kb/822335,但我认为这与我无关。
两台机器上的COM +接口名称都相同,而且我的选项用完了。有没有人在2台不同的机器上遇到同样的问题? 提前谢谢..