为什么我不能在.NET中创建COM对象,却可以在JavaScript中创建
||
我可以在JS中创建ActiveX(由IE打开html):
var o = new ActiveXObject(\"MyProgId\");
但是我无法在.NET中创建其实例:
var t = Type.GetTypeFromProgId(\"MyProgId\");
返回null。当我尝试在VS中添加\“ COM的引用”时,出现这样的错误:
\"Could not add a reference to {MyTypeLib_CLSID}\\1.0
Library not registered. (Exception from HRESULT: 0x8002801D (TYPE_E_LIBNOTREGISTERED))\"
当我在注册表中搜索MyTypeLib_CLSID
时,我确实找到了密钥,但是regedit无法在ѭ4it下打开它。它抱怨Error Opening Key, The system cannot find the file specified
。但是我接下来搜索,regedit在edit6ѭ下找到它并在那里成功打开。
我也尝试通过Type.GetTypeFromCLSID
创建一个对象,结果相同(返回null)。
这个COM有什么问题?
附言此COM是Lync Web App插件(\“ ReachAppShAx.AppSharing \” / {B89F72B4-7801-4F45-97AE-F9A0CDBB6213})
更新:所有这些事情都在本地发生:js / html在浏览器中以html文件形式打开,.net是一个控制台应用程序。
没有找到相关结果
已邀请:
2 个回复
屡倒雷图
寒健
但!它仅在COM服务器正在运行时才起作用。如果正在运行,则创建实例失败并显示以下错误: 未注册类(HRESULT的异常:0x80040154(REGDB_E_CLASSNOTREG))。