none
Agregar referencias en visual Studio 2019 RRS feed

  • Pregunta

  • Hola!! 
    Tengo un problemilla que me esta dando dolores de cabeza, estoy trabajando con visual studio y con un reloj biométrico zkteco.
    resulta que debo usar una dll llamada zkemkepper.dll 
    la descargué y registré mediante el comando regsvr32. Pero al momento de abrir visual studio, agregar referencias y examinar no me sale el archivo siendo que esta ahí ubicado(system32). También me sale que debo tener acceso al archivo o el ensamblado o componente COM validos. 

    Soy nuevo en esto de programación si alguien pudiera atender mi consulta lo agradecería mucho.
    sábado, 26 de septiembre de 2020 22:24

Todas las respuestas

  • Infiero que esa DLL no es una DLL de .NET sino un componente COM, porque de lo contrario no te habría dejado registrarla con Regsvr32.

    En este caso, no la puedes referenciar en la manera habitual directamente desde el fichero, sino que hay que referenciarla desde el registro de Windows como componente COM. Visual Studio "sabe" hacer esto: para ello hay que acudir a una pestaña llamada "COM" en la ventanita de "añadir referencias", y añadirla desde ahí.

    Recuerda que no es posible hacer llamadas COM desde 32 bits a 64 o viceversa. Esto implica que si la dll es de 32 bits, entonces tienes que configurar tu proyecto para que se ejecute en 32 bits (x86 en las Propiedades), no puedes ejecutarlo en 64.

    domingo, 27 de septiembre de 2020 7:10
  • hola

    >>Pero al momento de abrir visual studio, agregar referencias y examinar no me sale el archivo

    si lo buscas como dll de net no lo vas a encontrar

    Al gregar la referencia usa la opcion COM, quizas sino esta listada debas hacer una busqueda, esto creara la dll de Interop

    No creo que el que este en system32 ayude sino tienes la dll de Interop creada

    Tambien si quieres puedes crear la libreria de interop por linea de comando

    Procedimiento para generar ensamblados de interoperabilidad a partir de bibliotecas de tipos

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 28 de septiembre de 2020 2:48
  • Tambien si quieres puedes crear la libreria de interop por linea de comando

    En teoría no debería ser necesario. Visual Studio crea el Interop automáticamente cuando referencias la librería a través de la pestaña COM.

    Únicamente cuando usas desde .NET una DLL COM para la que el fabricante ha creado un Primary Interop (por ejemplo, si usas Office desde COM) es cuando deberías usar ese Primary Interop en lugar de dejar que Visual Studio te cree el suyo. Pero si la DLL no viene acompañada de su Interop, entonces basta con referenciarla desde Visual Studio y ya te crea internamente el .interop.

    • Propuesto como respuesta Óscar Navarro lunes, 28 de septiembre de 2020 15:40
    lunes, 28 de septiembre de 2020 7:08
  • Hola MatiasF98

    Lograste algo con tu consulta?

    martes, 29 de septiembre de 2020 21:18