Estoy usando DllImport para acceder a algunas funciones en un dll C++ desde mi aplicación C#.Win 7 DllImport C# Error impar, ¿Acceso no válido a la ubicación de la memoria?
Este código funciona bien en mi computadora portátil dev, que es Windows 7 de 64 bits, el dll en sí es de 32 bits, así que ejecuto el proceso de alojamiento del dll en 32 bits y funciona bien. Sin embargo, cuando trato de ejecutar exactamente el mismo proceso en mi máquina de destino, que es otra vez, Windows 7 64bit Ultimate aparece el error "Acceso no válido a la ubicación de la memoria". del proceso.
No estoy seguro de cuál es el problema, he visto muchos recursos en la red y ninguno de ellos me lo ha solucionado. No entiendo por qué funciona bien en mi cuadro dev, pero no en el objetivo?
El dll en sí está bien, los ejemplos que vienen con el dll funcionan bien en mi cuadro de destino (que son aplicaciones C# que hacen DllImport).
¿Alguien más ha tenido este problema? ¡Estuve peleando por dos días!
Excepción: {"Unable to load DLL 'CLEyeMulticam.dll': Invalid access to memory location. (Exception from HRESULT: 0x800703E6)"}
DEP es como OptIn (que es básicamente DEP habilitado) en mi cuadro de desarrollo. Pero esto no tiene ningún problema ... He estado tratando de encontrar alguna diferencia, pero configuré ambas máquinas con el mismo ISO, tanto con VS2010, Robotics Framework RC3, como con el mismo Dll al que intento acceder. ¡¡Pero intente como pueda, no puedo hacer que esta nueva máquina obtenga un marco robótico que lea correctamente el dll !! – James
También intenté formatear la máquina totalmente de nuevo, todavía tengo el mismo problema. – James
No pude resolver este problema. Solo sucedió mientras usaba el dll en Microsoft Robots Studio. Al final tuve que crear una nueva aplicación para alojar el dll, y comunicar el proceso cruzado a través de WCF named pipes :( – James