Interop com +

22/02/2007 - 01:50 por Marcelo CArdozo | Informe spam
Amigos del foro:
Mi consulta es la siguinte, estoy haciendo un componente com+ en C#
framework 1.1 para ser consumido desde VB6 . Al mismo funciona traengo y
recibiendo cadenas de texto, incluso retornando arrays. tiene el strong name
puede verse desde la pantalla del adminisrador de componentes, etc, o sea
funciona.
Al querer agregarle la referencia ADODB para sacar recordset ( a fin de ser
compatibe con VB6 ) al querer compilar me dice que la libreria adodb no tiene
strong name. ( o sea la dll que finalmente pone el el binelease ). Que
podria hacer para solucionar ese problema ya que necesito si o si sacar un
recorset, y no tengo idea si a una dll ya compilada puedo de alguna manera
darle en SN.
Desde ya muchas gracias.
Atte.

MArcelo CArdozo
 

Leer las respuestas

#1 Alberto Poblacion
22/02/2007 - 09:07 | Informe spam
"Marcelo CArdozo" <Marcelo wrote in
message news:
Al querer agregarle la referencia ADODB para sacar recordset ( a fin de
ser
compatibe con VB6 ) al querer compilar me dice que la libreria adodb no
tiene
strong name. ( o sea la dll que finalmente pone el el binelease ). Que
podria hacer para solucionar ese problema ya que necesito si o si sacar un
recorset, y no tengo idea si a una dll ya compilada puedo de alguna manera
darle en SN.



Realmente el que necesita el strong name no es el ADODB (que es un objeto
COM) sino el Runtime Callable Wrapper que le genera el COM Interop cuando lo
referencias. Si generas el RCW a mano con el TLBIMP (en lugar de hacerlo
automáticamente poniendo una referencia en Visual Studio), le puedes asignar
un strong name indicando el archivo de claves en la llamada al tlbimp:

TlbImp "C:\Program Files\Common Files\System\Ado\msado15.dll"
/keyfile:claves.snk /out:ADODB.dll

A continuación la referencia del proyecto la pones al ADODB.dll que
acabas de generar, que ya es una dll de .Net con strong name.

Preguntas similares