/platform (Visual Basic)
更新:2007 年 11 月
指定公共语言运行库 (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 Interop。
如果您事先对代码将运行的体系结构做出判定,则 /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
在“解决方案资源管理器”中选择一个项目。在“项目”菜单上单击“属性”。有关更多信息,请参见项目设计器介绍。
单击“编译”选项卡。
单击“高级”按钮。
修改“目标 CPU”组合框的值。
示例
下面的示例演示如何使用 /platform 来指定应只由使用 Itanium 的 64 位 Windows 操作系统上的 64 位 CLR 运行应用程序。
vbc /platform:Itanium myItanium.vb