64 位应用程序64-bit Applications
在 64 位操作系统上,所有基于 .NET Framework 1.0 或 1.1 生成的应用程序都会被视为 32 位应用程序,并始终在 WOW64 和 32 位公共语言运行时 (CLR) 下执行。基于 .NET Framework 4 或更高版本生成的 32 位应用程序也可以在 64 位系统上的 WOW64 下运行。
在 x86 计算机上,Visual Studio 会安装 32 位版本的 CLR,而在 64 位 Windows 计算机上会同时安装 32 位版本和适当的 64 位版本的 CLR。(因为 Visual Studio 是一个 32 位应用程序,所以当安装到 64 位系统上时,它会在 WOW64 下运行。)
备注
由于 Itanium 处理器系列的 x86 仿真和 WOW64 子系统设计,仅限在一个处理器上执行应用程序。这些因素会降低在基于 Itanium 的系统上运行的 32 位 .NET Framework 应用程序的性能和可伸缩性。我们建议你使用 .NET Framework 4,它包括对基于 Itanium 的系统的本机 64 位支持,以提升性能和可伸缩性。
默认情况下,在 64 位 Windows 操作系统上运行 64 位托管应用程序时,您可以创建一个不超过 2 GB 的对象。然而,在 .NET Framework 4.5 中,你可以增加该限制。有关详细信息,请参阅 。
结构中包含大小随平台而改变的成员,例如任何指针类型。
指针算术包含固定大小。
将 转换到 的代码。
有关如何移植 32 位应用程序以使其在 64 位 CLR 上运行的详细信息,请参阅将 32 位托管代码迁移至 64 位)。
有关 64 位 Windows 计算机上的 64 位版 CLR 的详细信息,请参阅 MSDN 网站上的 。
在 Windows SDK 文档中,请参阅 64 位 Windows 编程指南。
有关 Visual Studio 对创建 64 位应用程序提供的支持的信息,请参阅 。
默认情况下,如果您使用 .NET Framework 在 32 位或 64 位计算机中生成一个应用程序,该应用程序将会在 64 位计算机中作为本机应用程序运行(即不是在 WOW64 下运行)。有关如何使用 Visual Studio 编译器创建 64 位应用程序,并且应用程序会作为本机应用程序运行和/或在 WOW64 下运行的信息,请参阅下表中的文档。
若要以编程方式查询 .exe 或 .dll,以查看其是只能在特定平台上运行还是在 WOW64 下运行,请使用 Module.GetPEKind 方法。