使用者:
赢7x64;
Visual Studio 2019;
MindManager 2019-MM 19.1.198(32-x。)10.01.2019;
问题:
我的代码在行上抛出未注册COM类的错误:
mm.Topic topic = new mm.Topic ();
。我得到一个错误。
错误:
由于以下错误,未能为具有CLSID {169B91A2-8B3F-4C13-8FD6-81D4C2F76F3D}的组件获取COM类工厂:未注册该类(HRESULT的异常:0x80040154(REGDB_E_CLASSNOTREG))。 >
代码:
using mm = Mindjet.MindManager.Interop;
mm.Application app;
mm.Document docActiv;
public Form1()
{
InitializeComponent();
app = new mm.Application();
}
public void SetXMLProperty(string xmlContent)
{
docActiv = app.ActiveDocument;
mm.Topic topic = new mm.Topic();
topic.Xml = xmlContent;
docActiv.FloatingTopics.Insert(topic);
}
问题。
我需要为Topic
类注册什么图书馆?
根据评论pstrjds
-引用:
>我发现了这种可能的解决方法`在64位环境https://techtalk.gfi.com/32bit-object-64bit-environment/
中使用32位COM对象我按照指示执行操作:
1.我定义了COM对象的GUID。
请参见 Picture-1
。
2.我在寻找对象:
HKey_Classes_Root\Wow6432Node\CLSID\[GUID]
3.结果。
我在文件夹HKey_Classes_Root\Wow6432Node\CLSID\[GUID]
中没有对象{1E1D4AF9-6640-49C1-A33B-8CE8B47C9785}。
对象{1E1D4AF9-6640-49C1-A33B-8CE8B47C9785}位于下面的文件夹中。 (如果需要,我可以附上这些文件夹内容的图片)
HKEY_CLASSES_ROOT
HKEY_CLASSES_ROOT \ TypeLib {1E1D4AF9-6640-49C1-A33B-8CE8B47C9785}
HKEY_CLASSES_ROOT \ Wow6432Node \ TypeLib {1E1D4AF9-6640-49C1-A33B-8CE8B47C9785}
HKEY_LOCAL_MACHINE
HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ TypeLib {1E1D4AF9-6640-49C1-A33B-8CE8B47C9785}
HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ Wow6432Node \ TypeLib {1E1D4AF9-6640-49C1-A33B-8CE8B47C9785}
HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Classes \ TypeLib {1E1D4AF9-6640-49C1-A33B-8CE8B47C9785}
HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Classes \ Wow6432Node \ TypeLib {1E1D4AF9-6640-49C1-A33B-8CE8B47C9785}
Question.Update-1
1.我需要在哪个文件夹中按照说明进行操作?
我正在尝试更改解决方案平台。
对于x86
之后-2秒错误。
第36行。mm.Topic topic = new mm.Topic ();
Failed to get COM class factory for component with CLSID {169B91A2-8B3F-4C13-8FD6-81D4C2F76F3D}
due to the following error: 80040154 The class is not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
对于x64
之后-25秒。错误。
第32行。app = new mm.Application ();
Failed to get COM class factory for component with CLSID {CE786F70-B064-4766-B24D-E6D942936D50} due to the following error: 80080005 Error while executing server application (Exception from HRESULT: 0x80080005 (CO_E_SERVER_EXEC_FAILURE)).
笔记。
对于X86,需要具有CLSID {169B91A2-8B3F-4C13-8FD6-81D4C2F76F3D}的组件;
对于x64,具有CLSID {CE786F70-B064-4766-B24D-E6D942936D50}的组件。