Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
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
Integerpour 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
x86sur 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:x86s’exécutent sur le CLR 32 bits exécuté sous WOW64.Les exécutables compilés avec le
-platform:anycpuCLR 64 bits sont exécutés.Une DLL compilée avec le
-platform:anycpuCLR s’exécute sur le même CLR que le processus dans lequel il a chargé.Les exécutables compilés avec
-platform:anycpu32bitpreferreds’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
Dans l’Explorateur de solutions, choisissez le projet, ouvrez le menu Projet , puis cliquez sur Propriétés.
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