Estoy empezando a usar ZeroMQ y estoy experimentando con algunas de las muestras. Estoy usando los enlaces de lenguaje C# y me he encontrado con un problema al obtener una excepción DllNotFound.ZeroMQ DllNotFoundException usando .Net Bindings
Puedo cargar y ejecutar muestras en Mi máquina de desarrollo después de haber copiado libzmq.dll en Windows/System32, pero cuando muevo cosas a otros servidores, obtengo el error a pesar de haber copiado libzmq.dll en ambas carpetas. se ejecutan desde y hacia Windows/System32.
He puesto clzmq.dll en la carpeta donde está la aplicación de ejemplo y también libzmq.dll. También puse libzmq en c:/Windows/System32. Estoy ejecutando Windows Server 2003 Service Pack 2. Cuando verifico las variables de entorno de la máquina, WINDOWS/System32 está en la variable PATH. También me aseguré de construir el libzmq dll usando Release, no depuración.
Es posible que no entienda cómo debe usarse ZeroMQ .Net Binding. He agregado clzmq.dll (The .Net Binding) a mi proyecto como referencia y supuse que clzmq.dll haría automáticamente referencia a libzmq en la variable de Windows PATH WINDOWS/System32.
¿Alguien sabe si me equivoco en esto. La documentación de C# Binding (http://www.zeromq.org/bindings:clr) establece que "el archivo de la biblioteca ZeroMQ deberá estar disponible para que funcione el enlace", pero parece que no lo he hecho disponible a pesar de haberlo copiado en la variable PATH.
¿Alguien ha experimentado la excepción DLL no encontrada al usar los Enlaces de ZeroMQ .Net?
Gracias por la ayuda,
Pensé que publicaría la solución si alguien más se topa con esto. Libzmq.dll tiene dependencias en MSVCP100.dll que estaban ausentes de la máquina en la que intentaba ejecutar la aplicación. La forma en que lo descubrí fue descargando y ejecutando el caminador de dependencias desde www.dependencywalker.com y simplemente ejecutándolo. De inmediato mostró la DLL faltante. Luego instalé el paquete redistribuible de Microsoft Visual C++ 2010 para reparar la DLL de subprocesamiento faltante que necesitaba libzmq. Espero que esto les ahorre a los demás algo de tiempo. – Learning1
Debe publicar esto como una respuesta y seleccionarlo como la solución a su pregunta. De esa forma, la gente podrá encontrarlo más fácilmente. – dandan78
Solo para lanzar esto, aunque estoy en una versión x64 de Windows, necesitaba instalar la versión x86 de la redistribuible. Tiene sentido ahora, pero desperdicié una hora en llegar a esa conclusión. –