-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
Wählen Sie im Projektmappen-Explorer das Projekt aus, öffnen Sie das Menü Projekt, und klicken Sie dann auf Eigenschaften.
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