Usuario
Agregar referencias en visual Studio 2019

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.
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.
-
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 -
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