Mi socio comercial y yo desarrollamos conjuntamente una aplicación web implementada en Azure. Mi cuadro está basado en Windows 7 de 64 bits, pero mi compañero está usando Windows 7 de 32 bits.Cómo implementar una versión de DLL de 64 bits en Azure, pero use la versión de 32 bits en los cuadros dev
Desde el IDE de VS2010 cuando he añadido una referencia a 'ieframe.dll' de mi directorio System32 (64 bits en mi caja), el IDE realidad traído la versión SysWoW64 (32 bits) de la DLL.
Ambas cajas dev funcionan a la perfección con la versión de 32 bits de WOW 'ieframe.dll', pero cuando hacemos uso de Azure que van a obtener un EntryPointNotFoundException al realizar una llamada/DllImport interoperabilidad en 'IEFrame. dll '. Parece que Azure quiere tener la versión de 64 bits.
¿Cómo podemos implementar la versión de 64 bits en Azure pero seguir usando la versión de 32 bits en nuestros cuadros de desarrollo?
EDITAR: Obviamente, podemos hacer esto manualmente copiando 'ieframe.dll' de 64 bits en algún lugar y luego colocarlo manualmente en el directorio 'bin', pero ¿hay alguna forma mejor de practicar esto en Azure? ?
EDIT # 2: Para este escenario, terminamos cambiando el nodo para Azure de osFamily = "1" a osFamily = "2". Al hacer esto, se instala Windows Server 2008 R2 que incluye IE8 (en lugar de IE7 en Windows Server 2008 SP1). No hay necesidad de meterse con las versiones de 32 contra 64 bits o copiar manualmente las DLL hasta el servidor.
Gracias por su detallada respuesta. Mi cofundador y yo consideramos todos los comentarios que nos brindó.Al final, mordió la bala y decidió actualizar a una máquina de 64 bits con un sistema operativo de 64 bits para que él, yo y Azure todos usemos la misma arquitectura de 64 bits. Anteriormente, estaba implementando todos los nuevos bits en Azure desde su caja de 32 bits. Esto funcionó bien hasta que nos encontramos con el problema que anoté anteriormente con la dependencia ieframe.dll. ¡Odiamos tener que admitir configuraciones múltiples, así que era hora de "Man Up" para una nueva caja! –
Dicho sea de paso: el uso de una tarea de inicio de Azure fue la solución más frecuentemente sugerida para nuestro dilema, pero como notó, de todas las "correcciones" fue la más fea. Una vez más, apreciamos sus comentarios. Es bueno saber cómo hacer esto si, por alguna razón, tenemos otro desarrollador a bordo que está casado con una máquina de desarrollo de 32 bits. –
Vea Edición # 2 más arriba para la solución que finalmente terminamos usando. –