Auflösen der COM-Ausnahme „Klasse nicht registriert“
Beim Instanziieren einer COM-Klasse kann der folgende Fehler auftreten:
<code>Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))</code>
Dies bedeutet, dass die von Ihrem Code verwendete COM-Klasse nicht korrekt auf Ihrem System registriert ist. So beheben Sie das Problem:
1. Architekturausrichtung:
Bestätigen Sie, dass alle Ihre Baugruppen für die richtige Systemarchitektur erstellt wurden. Wenn der Fehler in einer 64-Bit-Umgebung auftritt, stellen Sie sicher, dass Ihre Assemblys für x64 kompiliert sind. Eine Neuerstellung Ihrer Lösung für x86 könnte das Problem lösen.
2. Registrieren Sie die COM-Komponente erneut:
Wenn die Architektur nicht das Problem ist, versuchen Sie, die COM-Komponente, auf die in Ihrem Code verwiesen wird, neu zu installieren. Die Installations- oder Registrierungsinformationen für COM-Komponenten finden Sie normalerweise im Installationsprogramm der Microsoft Visual Studio Tools für Office oder in der Windows-Registrierung (unter HKCR\CLSID
).
Hilfreiche Techniken:
RegAsm
-Dienstprogramm ermöglicht die manuelle Registrierung und Aufhebung der Registrierung von COM-Klassen.Enable32BitApplications
auf 1 setzen (unter HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows
).Indem Sie diese Schritte befolgen, können Sie COM-Registrierungsausnahmen effektiv diagnostizieren und beheben und so sicherstellen, dass Ihre Anwendung ohne Unterbrechung ausgeführt wird.
Das obige ist der detaillierte Inhalt vonWie löse ich die COM-Ausnahme „Klasse nicht registriert' (0x80040154)?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!