- Presentación
- Creación de un ensamblaje.NET accesible por COM desde un proyecto WINDEV
- Creación de un ensamblaje.NET accesible por COM
- Usando un ensamblador en un programa de C++
Creación de un ensamblado .NET accesible mediante COM
Creación de un ensamblaje.NET accesible por COM desde un proyecto WINDEV Creación de un ensamblaje.NET accesible por COM Para crear un ensamblado.NET accesible por COM, usted debe: - Crear un archivo ".snk.
El archivo snk contiene el par "clave pública/clave privada" utilizado para firmar digitalmente los ensamblajes 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"
Con WINDEV se proporciona un archivo de ejemplo, en el directorio "Programs\Data\Example.snk&" del directorio 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 encontradas en el proyecto WINDEV
- La clase debe tener un constructor sin argumento (este es el único constructor que puede ser usado por 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 al directorio C:\Windows\Assembly
- copy la librería wd28 0net.dll al directorio c:\Windows\Assembly (de lo contrario la instanciación del objeto COM fallará con el error "file not found at the specified location")
- Compruebe si wd28 0vm.dll se encuentra en el directorio PATH
Observación: Desde Windows Vista, si la UAC está habilitada, puedes get un error como "Acceso denegado" durante el copy en el directorio "C:\Windows\Assembly". En ese caso: - ejecutar el programa "command prompt" (cmd.exe) como administrador.
- utilizar la herramienta "gacutil. Ejemplo: gacutil.exe -I "c:\Mis Proyectos\Mi Proyecto\Exe\MyAssembly.dll"
Usando un ensamblador en un programa de C++ Para usar un ensamblador en un programa de C++: Atención: Estas operaciones deben repetirse siempre que se cargue un GUID de interfaces: - Importar el conjunto: "regasm MyAssembly.DLL /tlb:MyAssembly.tlb".
- Utilice el archivo tlb generado en el proyecto C++.
- Recompilar el proyecto C++.
|
|
|
|