.net com interop activex ocx

.net - ¿Cuál es la diferencia entre AxInterop e Interop?



com activex (2)

He agregado un .ocx a la caja de herramientas en VS. Se crearon dos .dll: Interop.NNN.dll, AxInterop.NNN.dll.

¿Qué es cada uno? ¿Son ambos requeridos?


El ensamblado AxFoo.dll contiene una clase generada automáticamente derivada del control System.Windows.Forms.AxHost. Es bastante simple, tiene métodos, propiedades y eventos, los mismos que tiene disponibles en .ocx, que simplemente llaman a la biblioteca de interoperabilidad Foo.dll.

Por lo tanto, sí, definitivamente necesita desplegar ambas asambleas.


Interop.xxx.dll y AxInterop.xxx.dll son contenedores invocables en tiempo de ejecución (RCW) para un COM referenciado y un dll ActiveX, respectivamente.

interop.xxx.dll es simplemente una envoltura de automatización (un COM dll), lo que le permite manipular el objeto dentro del espacio de nombres de su aplicación. AxInterop.xxx.dll es un contenedor de control para un control ActiveX, que se puede arrastrar al formulario.