/platform (Visual Basic)
Especifica qué versión de la plataforma de Common Language Runtime (CLR) puede ejecutar el archivo de salida.
/platform:{ x86 | x64 | Itanium | arm | anycpu | anycpu32bitpreferred }
Argumentos
Término |
Definición |
x86 |
Compila el ensamblado de forma que el CLR de 32 bits compatible con x86 pueda ejecutarlo. |
x64 |
Compila el ensamblado de forma que el CLR de 64 bits pueda ejecutarlo en equipos compatibles con el conjunto de instrucciones AMD64 o EM64T. |
Itanium |
Compila el ensamblado de forma que el CLR de 64 bits pueda ejecutarlo en un equipo con un procesador Itanium. |
arm |
Compila el ensamblado de forma que pueda ejecutarse en un equipo con un procesador ARM (Advanced RISC Machine). |
anycpu |
Compila el ensamblado de forma que pueda ejecutarse en cualquier plataforma. La aplicación se ejecutará como una aplicación de 32 bits en versiones de 32 bits de Windows, y como una aplicación de 64 bits en versiones de 64 bits de Windows. Esta marca es el valor predeterminado. |
anycpu32bitpreferred |
Compila el ensamblado de forma que pueda ejecutarse en cualquier plataforma. La aplicación se ejecutará como una aplicación de 32 bits en versiones de 32 bits y de 64 bits de Windows. Esta marca solo es válida para ejecutables (.EXE) y requiere .NET Framework 4,5. |
Comentarios
Use la opción /platform para especificar el tipo de procesador de destino del archivo de salida.
En general, los ensamblados de .NET Framework escritos en Visual Basic se ejecutarán de la misma manera independientemente de la plataforma. Sin embargo, en algunos casos se comportan de forma diferente en distintas plataformas. Estos casos comunes son:
Estructuras que contengan miembros cuyo tamaño varía según la plataforma, como cualquier tipo de puntero.
Aritmética de punteros que incluya tamaños constantes.
Invocación incorrecta de la plataforma o declaraciones COM que utilicen Integer para los controladores en lugar de IntPtr.
Conversión de IntPtr a Integer.
Uso de invocación de plataforma o interoperabilidad COM con componentes que no existen en todas las plataformas.
La opción /platform mitigará algunos problemas si ha realizado suposiciones acerca de la arquitectura en la que se ejecutará el código. De manera específica:
Si decide que el destino sea una plataforma de 64 bits pero la aplicación se ejecuta en un equipo de 32 bits, el mensaje de error aparece mucho antes y se centra más bien en el problema que en el error que aparece sin utilizar este modificador.
Si establece la marca x86 en la opción y posteriormente la aplicación se ejecuta en un equipo de 64 bits, la aplicación se ejecutará en el subsistema WOW, en lugar de ejecutarse de forma nativa.
En un sistema operativo de Windows de 64 bits:
Los ensamblados compilados con /platform:x86 se ejecutarán en el CLR de 32 bits que se ejecuta en WOW64.
Los ejecutables compilados con /platform:anycpu se ejecutarán en el CLR de 64 bits.
Un archivo DLL compilado con /platform:anycpu se ejecutará en el mismo CLR que el proceso en el que se cargó.
Los archivos ejecutables que se compilan con /platform:anycpu32bitpreferred se ejecutarán en el CLR de 32 bits.
Para obtener más información sobre cómo desarrollar una aplicación para que se ejecute en una versión de 64 bits de Windows, consulte Aplicaciones de 64 bits.
Cómo establecer /platform en el IDE de Visual Studio
En el Explorador de soluciones, elija el proyecto, abra el menú Proyecto y, a continuación, haga clic en Propiedades.
Para obtener más información, vea Introduction to the Project Designer.
En la ficha Compilar, active o desactive la casilla Preferencia de 32 bits, o bien elija un valor en la lista CPU de destino.
Para obtener más información, vea Página Compilación, Diseñador de proyectos (Visual Basic).
Ejemplo
En el ejemplo siguiente se muestra cómo utilizar la opción /platform del compilador.
vbc /platform:x86 myFile.vb
Vea también
Referencia
Líneas de comandos de compilación de ejemplo (Visual Basic)