Pregunta

Para completar algunas pruebas necesito cargar la versión de 64 bits de un ensamblado aunque esté ejecutando una versión de 32 bits de Windows.es posible?

¿Fue útil?

Solución

No estoy seguro de por qué querrías hacer esto, pero supongo que podrías.Si no hace nada para indicar lo contrario, CLR cargará la versión del ensamblado que es específica de la CPU que está utilizando.Normalmente eso es lo que quieres.Pero tuve una ocasión en la que necesitaba cargar la versión IL neutral de un ensamblaje.utilicé el Método de carga para especificar la versión.No lo he probado (y otros aquí sugieren que no funcionará para un ensamblado ejecutable), pero supongo que puedes hacer lo mismo para especificar que deseas cargar la versión de 64 bits.(Tendrá que especificar si desea la versión AMD64 o IA64).

Otros consejos

Desde CLR vía C# (Jeff Richter):

"Si sus archivos de ensamblaje contienen solo código administrado a prueba de seguridad, está escribiendo código que debería funcionar en versiones de Windows de 32 bits y 64 bits.No se requieren cambios en el código fuente para que su código se ejecute en cualquier versión de Windows.

De hecho, el archivo EXE/DLL resultante producido por el compilador se ejecutará en ventanas de 32 bits, ¡así como en las versiones X64 e IA64 de ventanas de 64 bits!En otras palabras, el archivo se ejecutará en cualquier máquina que tenga una versión del marco .NET instalado ".

" El compilador de C# ofrece un modificador de línea de comandos /plataforma.Este interruptor le permite especificar si el ensamblaje resultante puede ejecutarse en máquinas X86 que ejecutan solo versiones de Windows de 32 bits, máquinas X64 que ejecutan solo ventanas de 64 bits o máquinas Intel Itanium que ejecutan solo ventanas de 64 bits.Si no especifica una plataforma, el valor predeterminado es AYCPU, lo que indica que el ensamblaje resultante puede ejecutarse en cualquier versión de Windows.

Windows de 32 bits no puede ejecutar ejecutables de 64 bits sin una VM/emutador

Windows de 32 bits puede compilarse para su ejecución en Windows de 64 bits

No, no puede ejecutar ensamblados compilados para 64 bits en un sistema que ejecuta la versión de 32 bits de Windows.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top