Visual Basic.NET - Compilaicon con referencias

 
Vista:
sin imagen de perfil
Val: 30
Ha aumentado su posición en 2 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Compilaicon con referencias

Publicado por sori46 (16 intervenciones) el 02/03/2020 15:54:48
Buenas tardes,

Estoy intentando compilar mi aplicación la cual en desarrollo funciona sin problemas pero al ejecutar el .exe en mi equipo una .dll que uso no funciona. Alguien me podría indicar como hacer la compilación “entera” que dentro del .exe vaya la librería?

He visto que en las propiedades del proyecto en Referencias indica la ubicación de la .dll pero del equipo de desarrollo, pero que en el equipo de los clientes puede estar ahí o no.

Por lo que me gustaría, si se puede. Hacer una compilación con todo lo necesario para su funcionamiento.

Muchas gracias de antemano y disculpad mi ignorancia.
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
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Compilaicon con referencias

Publicado por Phil Rob (1554 intervenciones) el 02/03/2020 16:54:56
Hola,

Si no es necesario este dll, puedes eliminar las referencias en el explorador de solucciones y en las referencias del proyecto ?
Puedes enviar foto de pantalla con el mesaje del error y el nombre de la dll ?

Quizá puedo darte una pista ...

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
sin imagen de perfil
Val: 30
Ha aumentado su posición en 2 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Compilacion con referencias

Publicado por sori46 (16 intervenciones) el 02/03/2020 17:05:09
Hola,

La .ddl la necesito para la conexion con la base de datos, por lo que no puedo eliminarla.
En el servidor en el que estoy programando la aplicacion funciona perfectamente.

Adjunto pantallazos:
Error
error

Directorio al hacer la compilacion.
directorio_compilacion
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
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Compilacion con referencias

Publicado por Phil Rob (1554 intervenciones) el 02/03/2020 17:37:54
Pienso que en el servidor, la librería para los clientes Informix es instalado y que no es el caso en otra computadora.
Puedes testar de poner la DLL en la misma carpeta que el EXE de tu programa (poca suerte).
Creo que tienes que instalar las herramientas para los clientes Informix.
Supongo que en otra computador, no puedes compilar tampoco, la línea Imports ... Informix ... no funciona.

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
sin imagen de perfil
Val: 30
Ha aumentado su posición en 2 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Compilacion con referencias

Publicado por sori46 (16 intervenciones) el 02/03/2020 17:39:30
Se puede hacer un paquete de instalación en el que incorpore esta .dll?
El cliente muchos lo tendrá el problema puede ser la ubicación de la .dll. En la carpeta donde está el .exe esta la .dll pero entiendo que la referencia está hecha sobre una ruta y por eso que falla.
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
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Compilacion con referencias

Publicado por Phil Rob (1554 intervenciones) el 02/03/2020 18:25:35
Cuando crea un paquete de instalación, Visual Studio pone las dll necesarias para responder a los Imports.
Quizá puede poner tu pregunta en el foro Informix : https://www.lawebdelprogramador.com/foros/Informix/index1.html

Tambien, miras si la DLL es bien utilizada en tu proyecto : https://www.ibm.com/support/knowledgecenter/SSGU8G_11.50.0/com.ibm.net_cc.doc/com.ibm.swg.im.dbclient.adonet.ref.doc/doc/IBMDataDB2Namespace.htm

...
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
sin imagen de perfil
Val: 30
Ha aumentado su posición en 2 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Compilacion con referencias

Publicado por sori46 (16 intervenciones) el 03/03/2020 09:07:44
Buenos días,
Indagando un poco por internet parece que es por la versión instalada, x86 o x64
La librería que agregue al proyecto en un principio era del cliente de x86 por lo que en el servidor funcionaba pero en los clientes que tienen instalado el x64 no.

Ahora después de buscar información acerca del error, he quitado la de x86 y agregado la x64 y en el servidor aparece el mismo error que en el cliente.

error_x64


Comentar que intento agregar esta libreria al proyecto y aparece el siguiente error

error_agregar_refer


Hay alguna manera de hacer algún versionado?

Saludos,
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
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Compilacion con referencias

Publicado por Phil Rob (1554 intervenciones) el 03/03/2020 10:45:46
Hola,

Comprendo que la librería instalada funciona en servidor (con sistema x86) y en cliente X86, pero no en cliente X64.
Si tengo razón, este significa que la librería instalada es X86. Tienes que encontrar y instalar la librería X64 y que para la compilar, selectas Any CPU.
Quizá después, todo funciona en X86 y en X64 …


X86
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
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Compilacion con referencias

Publicado por Phil Rob (1554 intervenciones) el 03/03/2020 11:14:54
Continuación...

Rápidamente, una idea : Es que la cadena de conexion es la misma para X86 y para X64 ?

Tengo experiencia con Access.
Con una version 2003, tiene utilizar Microsoft.JET.OLEDB.4.0 y ejecutar en X86
Con una version 2007, tiene utilizar Microsoft.ACE.OLEDB.12.0 y ejecutar en X64

En mi programa, soy obligado de escribir las dos cadenas y utilizar una o otra segun la DB pero cada pode ser ejecutada en "Any CPU".

DosCadenas
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
sin imagen de perfil
Val: 30
Ha aumentado su posición en 2 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Compilacion con referencias

Publicado por sori46 (16 intervenciones) el 03/03/2020 12:12:55
Hola,
Si, usa el mismo bloque de conexión pero la .dll se llama igual...

La cosa se complica, despues de instalar el cliente de x64 tengo el mimso error que el cliente por lo que decido dejarlo tal como estaba. Mi sorpresa es que ahora ni funciona con x86 ni con x64
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
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Compilacion con referencias

Publicado por Phil Rob (1554 intervenciones) el 03/03/2020 13:51:46
Debera funcionada con librería X86 en el servidor y en cliente X86
Debera funcionada con librería X64 en cliente X64

Siempre compilar con "Any CPU" y el paquete de instalación contiene las dos librerías.

Siento, no puedo testar...
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
sin imagen de perfil
Val: 30
Ha aumentado su posición en 2 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Compilacion con referencias

Publicado por sori46 (16 intervenciones) el 03/03/2020 15:48:42
Después de instalar distintas versiones del cliente Informix, ahora con cliente x86 y configuración de x86 y Any CPU funciona, pero con x64 aparece el siguiente error:

errorx64
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
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Compilacion con referencias

Publicado por Phil Rob (1554 intervenciones) el 03/03/2020 17:02:49
No comprendo

Creo que si las DLL para X86 y para X64 están puestas en el paquete de instalación, este al momento de la instalación que la buena DLL debe ser copiada en la computadora cliente. Creo que después, todo funciona en cliente X84 y en cliente X64.

No olvidar de ejecutar el programa del paquete : Setup.exe o setup.msi.
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
sin imagen de perfil
Val: 30
Ha aumentado su posición en 2 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Compilacion con referencias

Publicado por sori46 (16 intervenciones) el 03/03/2020 17:24:30
Hola,

Segun ocmentas hay algo que no estoy haciendo como indicas... Yo lo que hago para compilar es: Compilar -> Compilar solucion

Esto me genera en el directorio "C:\Users\sori46\source\repos\generar_qr\generar_qr\bin\Release"

Algo como la imagen que te adjunto mas abajo. yo copio al usuario la carpeta y el usuario ejecuta el .exe

directorio

Entiendo que debe haber alguna forma en la que se cree tipo un instalado.

Gracias y disculpa mi ignorancia
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
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Compilacion con referencias

Publicado por Phil Rob (1554 intervenciones) el 03/03/2020 17:53:03
" ... disculpa mi ignorancia " : cuando sabemos, no estamos ahi. Este es la verdad para todos.

Comprendo, haces la instalación para Copiar-Pegar. Muchos tiempos, este es suficiente.
Veces, tiene que hacer un "install package" con un programa Setup.exe o Setup.Msi. Quizá que este será tu solución.
No estoy muy informado para crear un paquete de instalación. Voy testar de hacer un ejemplo...
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
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Compilacion con referencias

Publicado por Phil Rob (1554 intervenciones) el 03/03/2020 22:08:56
Hola,

He testado con VS2013 (este es mi solo versión en español).
Las herramientas a cargar están a : https://docs.microsoft.com/en-us/windows/msix/packaging-tool/create-app-package

He testado de agregar el proyecto de Setup cuando no es cargado "Visual Studio Installer Projects Extension", VS envía nos a “InstallShield” que no es gratuito.
Miras el video : https://www.dropbox.com/s/nphzpwscy9auq65/Antes.mp4?dl=0

Cuando he cargado "Visual Studio Installer Projects Extension" (producto Micorsoft y gratuito), he lo testado.
Miras el video : https://www.dropbox.com/s/zgmygzid7k0gtx8/Tras.mp4?dl=0

Adjunto el Setup. En principio, puedes lo installar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 30
Ha aumentado su posición en 2 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Compilacion con referencias

Publicado por sori46 (16 intervenciones) el 04/03/2020 12:00:03
Muchas Gracias por tu aporte era justo lo que necesitaba.

Como inconveniente seria que la .dll tiene el mismo nombre en x86 que x64 por lo que no me deja importarla al proyecto.

Hay alguna solución?

Gracias!
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
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Compilacion con referencias

Publicado por Phil Rob (1554 intervenciones) el 04/03/2020 12:23:15
Hola,
VS deberia hacer el necesario sin que agregas dll manuelamente.
Puedes me enviar foto de la cadra de los soluciones con las referencias visibles ?
Mirare en la tarde.
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
sin imagen de perfil
Val: 30
Ha aumentado su posición en 2 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Compilacion con referencias

Publicado por sori46 (16 intervenciones) el 05/03/2020 12:55:58
Hola,
Te paso como tengo al referencia puesta.

lib_x86
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
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Compilacion con referencias

Publicado por Phil Rob (1554 intervenciones) el 05/03/2020 13:42:05
Gracias. Quería verificar que no existe problema a este nivel. Todo parece bien.

No tengo otra solución... y ti ?
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
sin imagen de perfil
Val: 30
Ha aumentado su posición en 2 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Compilacion con referencias

Publicado por sori46 (16 intervenciones) el 05/03/2020 15:08:00
Tanto la libreria de x86 como la de x64 se llaman igual, por lo que no la puedo añadir al proyecto.
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
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Compilacion con referencias

Publicado por Phil Rob (1554 intervenciones) el 05/03/2020 15:46:08
Dudo del inicio del error. Como puedes todavía tener sistemas x86 ? Windows 95, Nt 4.0, ?

Puedes copiar toda la carpeta del proyecto con otro nombre para obtener Duplico86 y Duplico64 (por ejemplo).
Compilas Duplico86 con la DLL útil y haces lo funcionar.
Mismo con Duplico64.

Después, testas en las computadoras correspondientes. Si todo funciona, tienes la versión para los clientes X86 y la versión para los clientes X64.

Cuando tengo el problema X86/X64 con Access, este es por la versión de Ms Office (hasta 2003 y después). Si instalado Office 2007 en todas partes, no tengo problema, todo funciona en X64. No puedes obtener Informix X64 por todos?

Quizá que mi sugerencia de los dos versiones es la solución.

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