Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# .net控制台应用程序32对64位_C#_.net_Build_64 Bit_32 Bit - Fatal编程技术网

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

C# .net控制台应用程序32对64位,c#,.net,build,64-bit,32-bit,C#,.net,Build,64 Bit,32 Bit,NET中的应用程序是否需要以64位构建才能充分利用带有64位操作系统的机器,或者它是否会像32位构建一样利用它。基本上,我们有一个内存不足异常的问题,建议在64位机器上运行console应用程序,这“可能”解决了这个问题。问题是,我们是否可以旋转一个64位的盒子并将当前的应用程序扔到上面,或者我是否需要以64位的方式重新构建应用程序。如果您的应用程序配置为针对“任意CPU”平台构建,那么它将在其中任何一个平台上正常运行 只需确保它没有使用任何32/64位特定的东西,否则会遇到问题 MSDN文档

NET中的应用程序是否需要以64位构建才能充分利用带有64位操作系统的机器,或者它是否会像32位构建一样利用它。基本上,我们有一个内存不足异常的问题,建议在64位机器上运行console应用程序,这“可能”解决了这个问题。问题是,我们是否可以旋转一个64位的盒子并将当前的应用程序扔到上面,或者我是否需要以64位的方式重新构建应用程序。

如果您的应用程序配置为针对“任意CPU”平台构建,那么它将在其中任何一个平台上正常运行

只需确保它没有使用任何32/64位特定的东西,否则会遇到问题

MSDN文档


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

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

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

“任何CPU”都是你的朋友

旁白:


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

从.Net 4.5开始,这不是严格意义上的情况,您还必须在项目设置中取消选中“首选32位”,请参阅: