¿Cómo forzo a mi aplicación a ejecutarse como 32 bits en una máquina de 64 bits?Ejecución de una aplicación C# de 32 bits en una máquina de 64 bits
El código está escrito en C#.
¿Cómo forzo a mi aplicación a ejecutarse como 32 bits en una máquina de 64 bits?Ejecución de una aplicación C# de 32 bits en una máquina de 64 bits
El código está escrito en C#.
Haga clic con el botón derecho en su proyecto y seleccione propiedades.
En propiedades, seleccione la pestaña de compilación. En el objetivo de la plataforma, seleccione x86.
Pulse Ctrl + Shift + S para guardar todos los archivos, haga clic con el botón derecho en la solución y seleccione "Limpiar" para deshacerse de los binarios antiguos. Cualquier construye después de eso debería ser de 32 bits
Suponiendo que se trata de una aplicación Winforms, una aplicación de consola o un servicio de Windows, debe compilar el exe para x86 en lugar de cualquier CPU. Está en el Administrador de configuración.
Si va a Configuration Manager en Visual Studio, puede establecer la plataforma en x86 o x64.
es cómo lo hice cuando no podíamos cambiar el código existente de cualquier CPU a x 86 debido a una ClickOnce limitación aquí:
Create a 32 bits (x86 se controlará en las propiedades del proyecto) aplicación (aplicación de Windows, pero no forma) 'lanzador':
static void Main(string[] args)
{
// Load the assembly
string directory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
string assemblyName = Path.Combine(directory, "YourAnyCPUApplication.exe");
Assembly assembly = Assembly.LoadFile(assemblyName);
assembly.EntryPoint.Invoke(null, null);
}
Agregue el código siguiente al método principal en el Cualquier proyecto CPU:
if (IntPtr.Size == 4)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
// etc...
}
else
{
// Launch application in 32-bit mode
System.Diagnostics.Process.Start(Path.GetDirectoryName(Application.ExecutablePath) + @"\Your32BitApplicationLauncher.exe");
}
espero que esto ayuda :-)
forma de línea de comandos:
corflags application.exe /32BIT+
Visual Studio 11 y framwork .NET 4.5 o superior tienen una opción para Any CPU 32-bit preferred
y esto fue el valor por defecto desde entonces
El código resultante se ejecutará en cualquier plataforma pero en las plataformas de 64 bits se ejecutan como procesos de 32 bits
De esta manera solo se puede ejecutar en x86 y no se puede ejecutar en ARM u otras arquitecturas –