-platform (Visual Basic)
Hiermee geeft u op welke platformversie van Common Language Runtime (CLR) het uitvoerbestand kan worden uitgevoerd.
Syntaxis
-platform:{ x86 | x64 | Itanium | arm | anycpu | anycpu32bitpreferred }
Argumenten
Term | Definitie |
---|---|
x86 |
Compileert uw assembly die moet worden uitgevoerd door de 32-bits, x86-compatibele CLR. |
x64 |
Compileert uw assembly die moet worden uitgevoerd door de 64-bits CLR op een computer die ondersteuning biedt voor de AMD64- of EM64T-instructieset. |
Itanium |
Compileert uw assembly die moet worden uitgevoerd door de 64-bits CLR op een computer met een Itanium-processor. |
arm |
Compileert de assembly die moet worden uitgevoerd op een computer met een ARM-processor (Advanced RISC Machine). |
anycpu |
Compileert uw assembly om te worden uitgevoerd op elk platform. De toepassing wordt uitgevoerd als een 32-bits toepassing op 32-bits versies van Windows en als een 64-bits toepassing op 64-bits versies van Windows. Deze vlag is de standaardwaarde. |
anycpu32bitpreferred |
Compileert uw assembly om te worden uitgevoerd op elk platform. De toepassing wordt uitgevoerd als een 32-bits toepassing op zowel 32-bits als 64-bits versies van Windows. Deze vlag is alleen geldig voor uitvoerbare bestanden (.EXE) en vereist .NET Framework 4.5. |
Opmerkingen
Gebruik de -platform
optie om het type processor op te geven waarop het uitvoerbestand is gericht.
Over het algemeen worden .NET Framework-assembly's die zijn geschreven in Visual Basic, hetzelfde uitgevoerd, ongeacht het platform. Er zijn echter enkele gevallen die zich anders gedragen op verschillende platforms. Deze veelvoorkomende gevallen zijn:
Structuren die leden bevatten die de grootte wijzigen, afhankelijk van het platform, zoals elk type aanwijzer.
Aanwijzerberekening die constante grootten bevat.
Onjuiste platformaanroepen of COM-declaraties die worden gebruikt
Integer
voor ingangen in plaats van IntPtr.Casten IntPtr naar
Integer
.Het gebruik van platformoproep of COM-interoperabiliteit met onderdelen die niet op alle platforms bestaan.
De optie -platform beperkt enkele problemen als u weet dat u veronderstellingen hebt gedaan over de architectuur waarop uw code wordt uitgevoerd. Specifiek:
Als u besluit een 64-bits platform te richten en de toepassing wordt uitgevoerd op een 32-bits computer, wordt het foutbericht veel eerder weergegeven en is het meer gericht op het probleem dan de fout die optreedt zonder deze switch te gebruiken.
Als u de
x86
vlag voor de optie instelt en de toepassing vervolgens wordt uitgevoerd op een 64-bits computer, wordt de toepassing uitgevoerd in het WOW-subsysteem in plaats van systeemeigen uitvoering.
Op een 64-bits Windows-besturingssysteem:
Assembly's die zijn gecompileerd met
-platform:x86
, worden uitgevoerd op de 32-bits CLR die wordt uitgevoerd onder WOW64.Uitvoerbare bestanden die zijn gecompileerd met de
-platform:anycpu
64-bits CLR worden uitgevoerd.Een DLL die met de
-platform:anycpu
DLL is gecompileerd, wordt uitgevoerd op dezelfde CLR als het proces waarin het is geladen.Uitvoerbare bestanden die zijn gecompileerd met
-platform:anycpu32bitpreferred
, worden uitgevoerd op de 32-bits CLR.
Zie 64-bits toepassingen voor meer informatie over het ontwikkelen van een toepassing die kan worden uitgevoerd op een 64-bits versie van Windows.
-platform instellen in de Visual Studio IDE
Kies in Solution Explorer het project, open het menu Project en klik vervolgens op Eigenschappen.
Schakel op het tabblad Compileren het selectievakje Voorkeur 32-bits in of uit, of kies in de lijst Doel-CPU een waarde.
Zie Compile Page, Project Designer (Visual Basic) voor meer informatie.
Opmerking
In het volgende voorbeeld ziet u hoe u de -platform
compileroptie gebruikt.
vbc -platform:x86 myFile.vb