将应用程序从32位移动到64位

我们有一个用C#编写的针对AnyCPU的Windows服务应用程序。 它运行在Win2003(32位)服务器上。 最近它开始耗尽内存。

将此服务重新部署到Win2003(64位)盒中涉及什么? 我是否需要重新编译它,如果我不重新编译它,应用程序是否会获得更多的内存?

如果exe被设置为AnyCPU,没有什么特别的 – 64位CLR将默认加载到64位机器上。 你只需要确保你是真正的AnyCPU就绪(没有不安全或安全的32位指针数学假设等)。 如果您运行的是没有PInvokes的所有托管代码,则应该保持良好状态。