1

我已在此处阅读有关如何设置 LARGEADDRESSAWARE 标志的信息,这是对我的 Windows 服务完成的。但是,此 Windows 服务托管基于另一个项目的 WCF 服务,并且此服务正在使用其他项目中的库等。

我需要整个应用程序来使用 LARGEADDRESSAWARE,是否可以在 Window Service 项目(ServiceBase)上设置它?还是我需要在所有项目上设置它?

此时我无法切换到 64 位,所以必须这样做。

4

1 回答 1

1

它不是 IDE 公开的选项,您将通过在构建后事件中运行 editbin.exe 来打开它。 这个答案显示了您需要使用的命令。

但是请注意,您很可能在这方面浪费了精力。只有当操作系统能够提供支持“大地址”的执行环境。多年前使用 /3GB 引导选项就可以实现这一点,但不久前就不再有用了。对服务器也非常不利,它们确实需要内核地址空间。当您的服务器启动 64 位版本的 Windows 时,它仍然很有用,如果它们与 /LARGEADDRESSAWARE 链接,任何 32 位代码都可以获得 4 GB 的地址空间。但是,如果您有这样的操作系统,那么将项目的目标平台更改为 AnyCPU 无疑是利用 64 位进程中获得的更大地址空间的更有效率的方法。也许这不适用于您的具体情况,但这是最好的一般建议。

于 2013-06-12T11:38:13.370 回答