Partager via


-platform (Visual Basic)

Spécifie la version de plateforme du Common Language Runtime (CLR) qui peut exécuter le fichier de sortie.

Syntaxe

-platform:{ x86 | x64 | Itanium | arm | anycpu | anycpu32bitpreferred }  

Les arguments

Terme Définition
x86 Compile votre assembly à exécuter par le CLR compatible 32 bits et x86.
x64 Compile votre assembly à exécuter par le CLR 64 bits sur un ordinateur qui prend en charge le jeu d’instructions AMD64 ou EM64T.
Itanium Compile votre assembly à exécuter par le CLR 64 bits sur un ordinateur avec un processeur Itanium.
arm Compile votre assembly à exécuter sur un ordinateur avec un processeur ARM (Advanced RISC Machine).
anycpu Compile votre assembly pour s’exécuter sur n’importe quelle plateforme. L’application s’exécute en tant qu’application 32 bits sur les versions 32 bits de Windows et en tant qu’application 64 bits sur les versions 64 bits de Windows. Cet indicateur est la valeur par défaut.
anycpu32bitpreferred Compile votre assembly pour s’exécuter sur n’importe quelle plateforme. L’application s’exécute en tant qu’application 32 bits sur les versions 32 bits et 64 bits de Windows. Cet indicateur est valide uniquement pour les exécutables (.EXE) et nécessite .NET Framework 4.5.

Remarques

Utilisez l’option -platform pour spécifier le type de processeur ciblé par le fichier de sortie.

En général, les assemblys .NET Framework écrits en Visual Basic s’exécutent de la même façon, quelle que soit la plateforme. Toutefois, il existe certains cas qui se comportent différemment sur différentes plateformes. Ces cas courants sont les suivants :

  • Structures qui contiennent des membres qui changent de taille en fonction de la plateforme, telles que n’importe quel type de pointeur.

  • Arithmétique du pointeur qui inclut des tailles constantes.

  • Appel de plateforme incorrect ou déclarations COM qui utilisent Integer pour les handles au lieu de IntPtr.

  • Cast IntPtr sur Integer.

  • Utilisation de l’appel de plateforme ou de l’interopérabilité COM avec des composants qui n’existent pas sur toutes les plateformes.

L’option -platform atténue certains problèmes si vous savez que vous avez fait des hypothèses sur l’architecture sur laquelle votre code s’exécutera. Spécifiquement:

  • Si vous décidez de cibler une plateforme 64 bits et que l’application est exécutée sur une machine 32 bits, le message d’erreur est beaucoup plus tôt et est plus ciblé au problème que l’erreur qui se produit sans utiliser ce commutateur.

  • Si vous définissez l’indicateur x86 sur l’option et que l’application est ensuite exécutée sur une machine 64 bits, l’application s’exécute dans le sous-système WOW au lieu de s’exécuter en mode natif.

Sur un système d'exploitation Windows 64 bits :

  • Les assemblys compilés avec -platform:x86 s’exécutent sur le CLR 32 bits exécuté sous WOW64.

  • Les exécutables compilés avec le -platform:anycpu CLR 64 bits sont exécutés.

  • Une DLL compilée avec le -platform:anycpu CLR s’exécute sur le même CLR que le processus dans lequel il a chargé.

  • Les exécutables compilés avec -platform:anycpu32bitpreferred s’exécutent sur le CLR 32 bits.

Pour plus d’informations sur le développement d’une application à exécuter sur une version 64 bits de Windows, consultez Applications 64 bits.

Pour définir -platform dans l’IDE Visual Studio

  1. Dans l’Explorateur de solutions, choisissez le projet, ouvrez le menu Projet , puis cliquez sur Propriétés.

  2. Sous l’onglet Compilation , activez ou désactivez la case à cocher Préférer 32 bits , ou, dans la liste processeur cible , choisissez une valeur.

    Pour plus d’informations, consultez Compile Page, Project Designer (Visual Basic).

Exemple :

L’exemple suivant montre comment utiliser l’option du -platform compilateur.

vbc -platform:x86 myFile.vb  

Voir aussi