我已阅读here有关如何设置LARGEADDRESSAWARE标志的信息,这已完成到我的Windows服务中。但是,此Windows服务托管基于另一个项目的WCF服务,此服务正在使用来自其他项目的库等。
我需要整个应用程序才能使用LARGEADDRESSAWARE,是否可以在Window Service项目(ServiceBase)上设置它?或者我是否需要在所有项目中设置它?
此时我无法切换到64位,因此必须这样做。
答案 0 :(得分:1)
它不是IDE公开的选项,您可以通过在构建后事件中运行editbin.exe来打开它。 This answer显示您需要使用的命令。
请注意,你很可能在此浪费精力。只有当操作系统提供支持“大地址”的执行环境时,它才会生效。多年前使用/ 3GB启动选项可能已经成为可能,但前一段时间已经停止使用。它们对服务器也非常不利,它们确实需要内核地址空间。当您的服务器引导64位版本的Windows时,它仍然很有用,如果它们与/ LARGEADDRESSAWARE链接,任何32位代码都可以获得4 GB的地址空间。但是如果你有这样一个操作系统,那么将项目的Target平台改为AnyCPU肯定是利用你在64位进程中获得的更大地址空间的更有效的方法。也许这不适用于您的具体案例,但在其他方面是最好的一般性建议。