/platform (Visual Basic)

指定公共语言运行时 (CLR) 的哪个平台版本可以运行输出文件。

/platform:{ x86 | x64 | Itanium | anycpu }

实参

术语

定义

anycpu

将程序集编译为可在任意平台上运行。 这是在未指定 /platform 选项时的默认行为。

x86

将程序集编译为由与 x86 兼容的 32 位 CLR 运行。

x64

将程序集编译为由支持 AMD64 或 EM64T 指令集的计算机上的 64 位 CLR 运行。

Itanium

将程序集编译为由采用 Itanium 处理器的计算机上的 64 位 CLR 运行。

备注

使用 /platform 选项可指定输出文件所指向的处理器的类型。

通常,用 Visual Basic 编写的 .NET Framework 程序集的运行行为均相同,与平台无关。 但在一些情况下,它们在不同平台上的行为有所不同。 这些常见的情况包括:

  • 结构包含根据平台更改大小的成员,如任意指针类型。

  • 指针算法包含常数大小。

  • 平台调用不正确,或者 COM 声明将 Integer 而不是 IntPtr 用于句柄。

  • IntPtr 强制转换为 Integer。

  • 对不存在于任何平台上的组件使用平台调用或 COM 互操作。

如果您事先对代码将运行的体系结构做出判定,则 /platform 选项将会减少一些问题。 尤其是在下列情况下:

  • 如果确定目标为 64 位平台,而应用程序运行在 32 位计算机上,则与不使用此开关所发生的错误相比,在这种情况下错误信息将会更早地产生并更针对问题本身。

  • 如果在该开关上设置了 32 位选项并随后在 64 位计算机上运行应用程序,则该应用程序将在 WOW 子系统中运行,而不是在本机运行。

在 64 位 Windows 操作系统上:

  • 用 /platform:x86 编译的程序集将在 WOW64 下运行的 32 位 CLR 上执行。

  • 用 /platform:anycpu 编译的可执行文件将在 64 位 CLR 上执行。

  • 用 /platform:anycpu 编译的 DLL 将在加载该进程的同一 CLR 上执行。

有关开发在 Windows 64 位操作系统上运行的应用程序的更多信息,请参见 64 位应用程序

在 Visual Studio 集成开发环境中设置 /nowarn

  1. “解决方案资源管理器”中选择一个项目。 在“项目”菜单上,单击“属性”。 有关更多信息,请参见 项目设计器介绍

  2. 单击“编译”选项卡。

  3. 单击“高级”按钮。

  4. 修改“目标 CPU”组合框的值。

示例

下面的示例演示如何使用 /platform 来指定应只由使用 Itanium 的 64 位 Windows 操作系统上的 64 位 CLR 运行应用程序。

vbc /platform:Itanium myItanium.vb

请参见

参考

示例编译命令行 (Visual Basic)

其他资源

Visual Basic 编译器