如何使.NET应用程序"大地址识别"?

wil*_*ard 36 .net memory windows

假设我使用/ 3GB开关启动了32位Windows Server,如何让.NET应用程序使用额外的地址空间?

Bri*_*sen 53

该标志是图像标题的一部分,因此您需要使用editbin修改它.

editbin /LARGEADDRESSAWARE <your exe>
Run Code Online (Sandbox Code Playgroud)

使用dumpbin /headers并查找是否存在Application can handle large (>2GB) addresses标志.

  • 查找`应用程序可以处理dumpbin输出中的大(> 2GB)地址字符串 (2认同)
  • 事后在可执行文件中设置标头是否会使 .NET 应用程序“感知大地址”,或者您实际上是否需要以不同方式编写或编译您的应用程序以使其“感知大地址”?对 64 位 Windows 系统(win7 或更高版本)上内存不足的任何 32 位可执行文件执行此操作是否存在任何陷阱/陷阱? (2认同)

Wil*_*ean 8

据我所知,您必须使用现有答案中显示的editbin实用程序.似乎没有任何方法可以使用Visual Studio .NET设置标志,看起来它们鼓励人们在可能的情况下编译64位而不是使用标志

http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=93771