2010-06-09 27 views
28

Estoy construyendo una aplicación SIG pero cada vez que ejecute el código me está dando este errorHRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))

System.Runtime.InteropServices.COMException was unhandled Retrieving the COM class factory for component with CLSID {FBF5715D-A05D-11D4-A64C-0008C711C8C1} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).

Además, en las propiedades del proyecto de la opción de Registrar para interoperabilidad COM está deshabilitado.

+1

Intenté las dos soluciones sugeridas a continuación en vano. ¿Alguien tiene otra idea? –

Respuesta

17

Simplemente mirando el mensaje, parece que uno o más de los componentes a los que hace referencia, o una o más de sus dependencias, no están registrados correctamente.

Si sabe qué componente es puede usar regsvr32.exe para registrarlo, simplemente abra un símbolo del sistema, vaya al directorio donde está el componente y escriba regsvr32 filename.dll (suponiendo que es un dll), si funciona, intente para ejecutar el código nuevamente; de ​​lo contrario, vuelve aquí con el error.

Si no sabe qué componente es, intente reinstalar/reparar el software GIS (supongo que ha instalado algún software GIS que incluya el componente que está tratando de usar).

+0

gracias mucho funcionó :) lo registré y nw funciona bien ... si, tienes razón, estaba usando el componente GIS en mi aplicación. gracias otra vez por su ayuda – user362130

+0

Tengo un .exe (no .dll). Desde el indicador de Visual Studio Cmd (donde se encuentra el .exe) ejecuté "MyProgram.exe/regsvr" – robor78

37

Esto también podría ser un problema de compilación del código utilizando una configuración 64 bit. Puede intentar seleccionar x86 como la plataforma de compilación que puede resolver este problema. Para hacer esto, haga clic derecho en la solución y seleccione Configuration Manager Desde allí puede cambiar el Platform del proyecto usando .dll de 32 bits a x86

+0

Tuve el mismo problema a la inversa: necesitaba un proyecto de 64 bits, 'Any CPU' y' x32' no trabajo. –

+0

Solo quería decir gracias. Esto me ayudó a tener un proyecto de actualización funcionando correctamente. – impr0t

+0

No podía creer que cambiar de 'Cualquier CPU' a 'x86' marcara la diferencia, ¡pero lo hizo! –

Cuestiones relacionadas