每当我运行我的应用程序时,我的应用程序内存不足。我去了app.config并启用gcAllowVeryLargeObjects
。C#内存问题
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<runtime>
<gcAllowVeryLargeObjects enabled ="true"/>
</runtime>
</configuration>
此外,我改变所有的双打浮动。现在我想知道如何将整个项目改为64位进程。当我创建一个新项目时,我看不到这样做的能力。这可能吗?我是VS和C#的新手,所以我不是100%精通导航。有任何想法吗?
我通过测试了我的工艺类型:
if (Environment.Is64BitProcess)
Console.WriteLine("64");
else
Console.WriteLine("32");
勾去掉*身高32位*复选框,并保留* AnyCPU * ,或者只是将* x64 *设置为平台。但在实际完成之前,请获取内存分析器并确保一切正确。除非你处理数量很多的数据,否则不应该把内存移出一个正常的用例。也许你做错了什么。 – 2015-04-05 20:55:53
每次都发生在同一个地方吗?有时候这个错误并不代表你的想法。如果您是C#/ NET的新手,可能是资源泄漏。 – Plutonix 2015-04-05 21:02:40
应该更重要的是弄清楚为什么你的应用程序内存不足,而不是如何将其配置为64位。你的记忆问题有两个主要原因。 1)您的应用程序正在泄漏内存,并且2)您的应用程序正在使用大量内存。既然你不是说任何关于你的想法为什么你的应用程序内存不足的问题,我的下注是在nbr上。 1,你的应用程序正在泄漏内存。因此,将其配置为64位只会延长其使用寿命,但随后会出现内存问题。 – 2015-04-05 21:11:17