-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 für die 32-Bit-x86-kompatible CLR (Common Language Runtime).
x64 Kompiliert Ihre Assembly für die 64-Bit-CLR auf einem Computer, der den AMD64- oder EM64T-Anweisungssatz unterstützt.
Itanium Kompiliert Ihre Assembly für die Ausführung durch den 64-Bit-CLR auf einem Computer mit einem Itanium-Prozessor.
arm Kompiliert Ihre Assembly für die Ausführung auf einem Computer mit einem ARM-Prozessor (Advanced RISC-Computer).
anycpu Kompiliert die Assembly für die Ausführung auf einer beliebigen Plattform. Die Anwendung wird auf 32-Bit-Versionen von Windows als 32-Bit-Anwendung und auf 64-Bit-Versionen von Windows als 64-Bit-Anwendung ausgeführt. Diese Meldung ist der Standardwert.
anycpu32bitpreferred Kompiliert die Assembly für die Ausführung auf einer beliebigen Plattform. Die Anwendung wird als 32-Bit-Anwendung auf 32-Bit- und 64-Bit-Versionen von Windows ausgeführt. Dieses Flag ist nur gültig für ausführbare Dateien (.EXE) und erfordert .NET Framework 4.5.

Hinweise

Verwenden Sie die -platform-Option, um den Typ des Zielprozessors für die Ausgabedatei anzugeben.

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

  • Strukturen, die Member enthalten, deren Größe sich je nach Plattform ändert (z. B. jeder beliebige Zeigertyp).

  • Zeigerarithmetik, die Größen von Konstanten einschließt.

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

  • Umwandeln von IntPtr zu Integer.

  • Verwendet einen Plattformaufruf oder COM-Interop für Komponenten, die nicht auf allen Plattformen vorhanden sind.

Die -platform-Option löst einige Probleme, wenn Sie wissen, dass Sie Annahmen über die Architektur, mit der der Code ausgeführt wird, gemacht haben. Dies gilt insbesondere in folgenden Fällen:

  • Wenn Sie sich entscheiden, eine 64-Bit-Plattform anzuzielen und die Anwendung auf einem 32-Bit-Computer ausgeführt wird, wird die Fehlermeldung sehr viel früher angezeigt und ist mehr problemorientiert als eine Fehlermeldung, die auftritt, wenn dieser Switch nicht verwendet wird.

  • Wenn Sie die x86-Flag in der Option festlegen und anschließend die Anwendung auf einem 64-Bit-Computer ausgeführt wird, wird die Anwendung im WOW-Subsystem statt nativ ausgeführt.

Auf einem 64-Bit-Windows-Betriebssystem:

  • Kompilierte Assemblys mit -platform:x86 werden in der 32-Bit-CLR unter WOW64 ausgeführt.

  • Kompilierte ausführbare Dateien mit dem -platform:anycpu werden in der 64-Bit-CLR ausgeführt.

  • Eine mit der -platform:anycpu kompilierte DLL wird in derselben CLR wie der Prozess, in den sie geladen wurde, ausgeführt.

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

Weitere Informationen zum Entwickeln einer Anwendung, die auf einer 64-Bit-Version von Windows ausgeführt wird, finden Sie unter 64-Bit-Anwendungen.

Festlegen der -platform-Option in der Visual Studio-IDE

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

  2. Wählen 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 Seite „Kompilieren“, Projekt-Designer (Visual Basic).

Beispiel

Das folgende Beispiel veranschaulicht, wie die -platform-Compileroption genutzt wird.

vbc -platform:x86 myFile.vb  

Siehe auch