Freigeben über


-platform (Visual Basic)

Gibt an, welche Plattformversion der Common Language Runtime (CLR) die Ausgabedatei ausführen kann.

Syntax

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

Argumente

Begriff Definition
x86 Kompiliert Die Assembly wird kompiliert, um von der 32-Bit-, x86-kompatiblen CLR ausgeführt zu werden.
x64 Kompiliert Die Assembly wird kompiliert, um von der 64-Bit-CLR auf einem Computer ausgeführt zu werden, der den AMD64- oder EM64T-Anweisungssatz unterstützt.
Itanium Kompiliert die Assembly, um von der 64-Bit-CLR auf einem Computer mit einem Itanium-Prozessor ausgeführt zu werden.
arm Kompiliert Die Assembly wird kompiliert, um auf einem Computer mit einem ARM-Prozessor (Advanced RISC Machine) ausgeführt zu werden.
anycpu Kompiliert Ihre Assembly, um sie auf einer beliebigen Plattform auszuführen. Die Anwendung wird als 32-Bit-Anwendung in 32-Bit-Versionen von Windows und als 64-Bit-Anwendung unter 64-Bit-Versionen von Windows ausgeführt. Dieses Kennzeichen ist der Standardwert.
anycpu32bitpreferred Kompiliert Ihre Assembly, um sie auf einer beliebigen Plattform auszuführen. Die Anwendung wird sowohl in 32-Bit- als auch in 64-Bit-Versionen von Windows als 32-Bit-Anwendung ausgeführt. Dieses Flag ist nur für ausführbare Dateien (.EXE) gültig und erfordert .NET Framework 4.5.

Bemerkungen

Verwenden Sie die -platform Option, um den Prozessortyp anzugeben, der von der Ausgabedatei gezielt ist.

Im Allgemeinen werden .NET Framework-Assemblys, die in Visual Basic geschrieben wurden, unabhängig von der Plattform gleich ausgeführt. Es gibt jedoch einige Fälle, die sich auf verschiedenen Plattformen unterschiedlich verhalten. Diese allgemeinen Fälle sind:

  • Strukturen, die Elemente enthalten, die die Größe je nach Plattform ändern, z. B. beliebiger Zeigertyp.

  • Zeigerarithmetik, die Konstantengrößen enthält.

  • Fehlerhafter Plattformaufruf oder COM-Deklarationen, die Integer statt IntPtr für Handles verwenden.

  • Umwandlung IntPtr in Integer.

  • Verwenden von Plattform-Aufrufen oder COM-Interoperabilität mit Komponenten, die nicht auf allen Plattformen vorhanden sind.

Mit der Option "Plattform " werden einige Probleme behoben, wenn Sie wissen, dass Sie Annahmen über die Architektur getroffen haben, auf der Ihr Code ausgeführt wird. Dies gilt insbesondere in folgenden Fällen:

  • Wenn Sie sich für eine 64-Bit-Plattform entscheiden und die Anwendung auf einem 32-Bit-Computer ausgeführt wird, kommt die Fehlermeldung viel früher vor und ist eher auf das Problem ausgerichtet als der Fehler, der ohne diese Option auftritt.

  • Wenn Sie die x86 Kennzeichnung für die Option festlegen und die Anwendung anschließend auf einem 64-Bit-Computer ausgeführt wird, wird die Anwendung im WOW-Subsystem ausgeführt, anstatt nativ auszuführen.

Auf einem 64-Bit-Windows-Betriebssystem:

  • Kompilierte -platform:x86 Assemblys werden auf der 32-Bit-CLR ausgeführt, die unter WOW64 ausgeführt wird.

  • Ausführbare Dateien, die mit der -platform:anycpu 64-Bit-CLR kompiliert wurden, werden ausgeführt.

  • Eine DLL, die mit der -platform:anycpu Datei kompiliert wurde, wird auf demselben CLR ausgeführt wie der Prozess, in den sie geladen wurde.

  • Ausführbare Dateien, die kompiliert werden, -platform:anycpu32bitpreferred werden auf der 32-Bit-CLR ausgeführt.

Weitere Informationen zum Entwickeln einer Anwendung zur Ausführung auf einer 64-Bit-Version von Windows finden Sie unter 64-Bit-Anwendungen.

So legen Sie -platform in der Visual Studio-IDE fest

  1. Wählen Sie im Projektmappen-Explorer das Projekt aus, öffnen Sie das Menü "Projekt ", und klicken Sie dann auf "Eigenschaften".

  2. Aktivieren oder deaktivieren Sie auf der Registerkarte " Kompilieren " das Kontrollkästchen "32-Bit bevorzugen ", oder wählen Sie in der Liste " Ziel-CPU " einen Wert aus.

    Weitere Informationen finden Sie unter Kompilierungsseite, Project Designer (Visual Basic).For more information, see Compile Page, Project Designer (Visual Basic).

Beispiel

Im folgenden Beispiel wird die Verwendung der -platform Compileroption veranschaulicht.

vbc -platform:x86 myFile.vb  

Siehe auch