web-dev-qa-db-fra.com

HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))

Je crée une application SIG mais chaque fois que j'exécute le code, cela me donne cette erreur

System.Runtime.InteropServices.COMException n'a pas été gérée Récupération de la fabrique de classe COM pour le composant avec CLSID {FBF5715D-A05D-11D4-A64C-0008C711C8C1} a échoué en raison de l'erreur suivante: 80040154 Classe non enregistrée (exception de HRESULT: 0x80040154 (REGDB_E_)) .

En outre, dans les propriétés du projet, l'option d'enregistrement pour COM Interop est désactivée.

28
user362130

Cela pourrait également être un problème de construction du code à l'aide d'un 64 bit configuration. Vous pouvez essayer de sélectionner x86 comme plate-forme de construction qui peut résoudre ce problème. Pour ce faire, cliquez avec le bouton droit sur la solution et sélectionnez Configuration Manager De là, vous pouvez changer le Platform du projet en utilisant le .dll 32 bits en x86

En regardant simplement le message, cela ressemble à un ou plusieurs des composants que vous référencez, ou une ou plusieurs de leurs dépendances ne sont pas enregistrées correctement.

Si vous savez de quel composant il s'agit, vous pouvez utiliser regsvr32.exe pour l'enregistrer, ouvrez simplement une invite de commande, accédez au répertoire où se trouve le composant et tapez regsvr32 filename.dll (en supposant qu'il s'agit d'une dll), si cela fonctionne, essayez de relancer le code sinon revenez ici avec l'erreur.

Si vous ne savez pas de quel composant il s'agit, essayez de réinstaller/réparer le logiciel SIG (je suppose que vous avez installé un logiciel SIG qui comprend le composant que vous essayez d'utiliser).

17
Hans Olsson