|
|
|
|
- Presentación
- Creación de un ensamblaje.NET accesible por COM desde un proyecto WINDEV
- Creación de un ensamblado .NET accesible mediante COM
- Usando un ensamblador en un programa de C++
Creación de un ensamblado .NET accesible mediante COM
Antes de crear un ensamblaje.NET, todos los elementos requeridos por este ensamblaje deben haber sido desarrollados en un proyecto WINDEV. Creación de un ensamblaje.NET accesible por COM desde un proyecto WINDEV Creación de un ensamblado .NET accesible mediante COM Para crear un ensamblado.NET accesible por COM, usted debe: - Crear un archivo ".snk.
El archivo snk contiene el par "clave public/clave private" utilizado para firmar digitalmente los montajes creados por una empresa. En la mayoría de los casos, el mismo archivo snk se utiliza para firmar todos los productos de una empresa.. Este archivo debe mantenerse en secreto para evitar que un tercero firme sus propias asambleas con la misma firma.. Para generar un archivo ".snk", debe utilizar el generador suministrado con el SDK .NET (archivo sn.exe). El siguiente comando Line debe ser usado para generar un archivo snk:
"sn.exe -k MySNKFile.snk" WINDEV incluye un archivo de ejemplo en el directorio "Programs\Data\Example.snk&" del directorio de instalación de WINDEV.. Este archivo se usa para probar la generación de ensamblajes de nombre fuerte. Observación: este archivo que se distribuye con WINDEV, no permite identificar de forma única los ensamblajes generados. - Modificar el código de las clases en el proyecto WINDEV:
- La clase debe tener un constructor sin argumento (es el único constructor que puede utilizar COM).
- Los miembros estáticos no serán accesibles por COM.
- Los métodos sobrecargados se renombran en COM.
- En asistente para generar ensamblados .NET, seleccione las siguientes opciones:
- Marque "Accesible por COM".
- Especifique la ubicación del archivo snk que se creó de antemano.
- copy el ensamblaje generado en el directorio de ensamblajes compartidos de Windows:
- copy el ensamblaje a "c:\Windows\Assembly".
- copy la librería wd29 0net.dll a "c:\Windows\Assembly" (de lo contrario, la instanciación del objeto COM fallará y arrojará el error "file not found at the specified location").
- Asegúrese de que el archivo wd29 0vm.dll se encuentra en un directorio especificado en PATH.
Observación: Desde Windows Vista, si el UAC está activado, puede get un error como "Acceso denegado" durante el copy en el directorio "C:\Windows\Asamblea".. En ese caso: - ejecute el programa "símbolo del sistema" (cmd.exe) como administrador.
- utilice la herramienta "gacutil. Ejemplo: gacutil.exe -I "c:\Mis proyectos\Mi proyecto\Exe\Mi ensamblaje.dll" .
Usando un ensamblador en un programa de C++ Para usar un ensamblador en un programa de C++: - Importar el conjunto: "regasm MiAsamblea.DLL /tlb:MiAsamblea.tlb".
- Utilice el archivo tlb generado en el proyecto C++.
- Recompilar el proyecto C++.
Atención: Estas operaciones deben repetirse siempre que se cargue un GUID de interfaces
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|