2012-03-20 78 views
5

Estoy a cargo del mantenimiento de una aplicación C# (VS 2005). Estas aplicaciones C# llaman a dll ("mydll.dll"). Necesitaba hacer algunos cambios en el dll en cuestión.Excepción de HRESULT: 0x80004002 (E_NOINTERFACE)

Tengo el archivo "mydll.vbp" escrito en Visual Basic 6.0. Hice mis cambios en Visual Studio y, luego, "hice" mydll "" desde la interfaz de Visual Basic.

El problema es que, ahora, en cada vez que intento ejemplo, una clase de "mydll.dll" en el modo Debbuger en C#, Tengo el siguiente "InvalidCastException"

Unable to cast COM object of type mydll.ClassFrommydll to interface type mydll._ClassFrommydll'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{384FB79F-B636-4655-9441-8222692AB8AE}' failed due to the following error: No such interface supported (Exception from HRESULT: 0x80004002 (E_NOINTERFACE)).

Traté de volver -referenciar al dll en cuestión ... pero eso no cambia nada.

¿Alguna idea de qué podría venir?

Muchas gracias a todos los yopu que pueden ayudar. He estado atascado con este problema desde hace días. Comience a sentir la presión ...

+0

Para cualquier otra persona que se topa con esto, hay una gran explicación de [la respuesta] (http://stackoverflow.com/a/16943296/210780). – ashes999

Respuesta

0

Elimine todos los GUID y los atributos "ComVisible" de la clase, , luego cambie el atributo [assembly: ComVisible (true)] en AssemblyInfo-File a 'true'.

+0

tengo el mismo problema, esto parece no resolver nada, ni tiene sentido ... –

1

marcar la clase principal [STAThread] y su problema será resuelto

+0

¿Por qué? parece que esto no resuelve el problema ... –

+1

@ L.Trabacchin puede encontrar la respuesta a "por qué" en [esta respuesta] (http://stackoverflow.com/a/16943296/210780). – ashes999

Cuestiones relacionadas