32位由于系统限制最高只能使用4GB内存,而c# 32位app则限制只能使用2GB,但是当程序需要执行超过2G内存时就会抛异常
两种解决方案
1. 进入vs command, 执行editbin /largeadressaware yourapp.exe.(注意editbin这个exe需要vs安装c++相关组件)
可以在post build events里面加入命令行执行
CALL "C:Program Files (x86)Microsoft Visual Studio2019ProfessionalCommon7ToolsVsDevCmd.bat" editbin /largeaddressaware "$(TargetPath)"
2. c#工程项目属性设置为Any CPU,然后把prefer 32bit勾上就默认支持大内存了。
推荐第二种,最简单。
使用dumpbin来查看是否支持大内存模式
使用方式
1. 进入vs command
2. dumpbin /headers yourapp.exe