.net控制台应用程序32对64位

时间:2009-07-02 00:31:20

标签: c# .net build 64-bit 32-bit

.NET中的应用程序是否需要以64位构建才能充分利用具有64位操作系统的计算机,或者它将利用它作为32位构建。基本上,我们遇到内存不足异常的问题,并建议在64位盒子上运行控制台应用程序“可能”解决问题。问题是我们可以只旋转64个框并将当前应用程序抛出或者我需要以64位方式重建应用程序。

3 个答案:

答案 0 :(得分:13)

如果您的应用程序配置为“任何CPU”平台构建,那么它将适当地运行。

请确保它不使用任何32/64位特定内容,否则您将遇到问题。

MSDN docs here

有关缺点的一些讨论,请参阅here

答案 1 :(得分:5)

如果它是为任何平台(默认)构建的,它将在64位操作系统上以64位运行。

话虽如此,仍有潜在的问题值得关注。如果您使用本机代码(通过p / invoke,C ++ / CLI或COM)进行交互,则需要将该代码移植到64位。如果应用程序是100%管理的,它就可以正常工作。

答案 2 :(得分:1)

“任何CPU”都是你的朋友。

暂且不说:

我们有一个特别大的Trie结构,超过了32位Windows的2GB内存空间。由于大多数结构都包含对象引用,我们发现当移动到64位时,应用程序的内存需求几乎翻了一番,需要大约4GB。这是因为存储引用的内存是64位宽而不是32位。

相关问题