C sharp - Problema al crear dll y registrarla para utilizar con sistemas diferentes a .NET

   
Vista:

Problema al crear dll y registrarla para utilizar con sistemas diferentes a .NET

Publicado por Mikel (2 intervenciones) el 15/11/2013 19:27:48
Desde un proyecto de tipo de libreria de clases en C# estoy creando una dll cuya finalidad será utilizarla en otras plataformas de programación, en principio para utilizar con Visual FoxPro.

Creo la dll sin ningún problema y si la pruebo desde un proyecto ,NET funciona correctamente.

El problema surge cuando voy a registrar la dll mediante REGSVR32 MiLibreria.dll, entondes me dice que ha podido leer el fichero pero que no se puede registar porque no tiene ningún punto de entrada.

¿Podria alguien ayudarme? ... Es lo primero que hago con C# y la verdad me estoy volviendo loco y no consigo descubrir donde esta el problema.

Gracias por anticipado.

Mikel
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

He encontrado la solución ... la expongo por si a alguien le viene bien

Publicado por Mikel (2 intervenciones) el 19/11/2013 09:29:56
En las propiedades del proyecto definir los campos:
- Nombre del ensamblado: Nombre con el que se generará la dll
- Espacio de nombres predeterminado: Poner lo mismo que en el ‘Nombre del ensamblado’
- En el combo de ‘Versión de .Net Framework de destino’ seleccionar la versión ‘.NET Framework 2.0’. Seleccionamos este Framework porque en se encuentra instalado en todos los equipos desde XP y de esta manera evitamos problemas de tener que instalar también el Framework para funcione la dll
- Pulsar el botón ‘Información del ensamblado’ y dejar clickado el checkbox de ‘Crear ensamblado visible a través de COM’
- En el apartado de Firma dejar clickado el checkbox de ‘Firmar el ensamblado’
- Establecer un ‘archivo de clave de nombre seguro’ . Para ello clickar en el combo y pulsar en la opción ‘<Nueva>’. Indicar un nombre (p.e. Aner) en el campo ‘Nombre del archivo de clave’ y dejar sin clickar el checkbox de ‘Proteger mi archivo de clave mediante contraseña’

En el equipo en el que se vaya a utilizar la dll:
- En MS-DOS desde la carpeta en la que se encuentran las dll escribir la siguiente instrucción: C:\CarpetaDll>C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\RegAsm. Libreria.dll /register /codebase /tlb
- En el caso de que haya que actualizar la versión de una dll ya existente habrá que eliminar previamente el registro existente de la dll (C:\Carpeta>C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\RegAsm. Libreria.dll /u) y luego volver a registrarla
- Para evitar errores de seguridad por falta de permisos de la dll instalada ejecutar la siguiente sentencia: C:\Windows\Microsoft.NET\Framework\v2.0.50727\caspol.exe -m -ag 1 -url "C:\Carpeta\Libreria.dll" FullTrust -exclusive on
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar