Windows 服务 - 迁移到 64 位。实现“64 位优势”的步骤

Bar*_*ney 1 c# 64-bit windows-services visual-studio-2010

我有自己的旧 Windows 服务 (.Net 3.5),它在 32 位 Windows 上运行。现在我们有一个 x64 Windows Server 2012,想迁移这个服务。

我的问题是:我是否应该对这个 Windows 服务做一些特别的事情,以实现 64 位框架的“所有好处”?我的意思是 - 我应该在 Visual Studio 2010(项目/解决方案属性)中构建/编译它时设置一些选项。或者是其他东西 ?或者我不需要做任何事情——它会自己使用 64 位框架,不管它是如何构建的。

Mar*_*ell 5

这取决于构建目标:

  • 如果平台目标是x86,它将始终作为 32 位可执行文件运行(或根本不运行)
  • 如果平台目标是x64,它将始终作为 64 位可执行文件运行(或根本不运行)
  • 如果平台目标Any CPU 没有启用“首选 32 位”,它将尽可能以 64 位运行,否则为 32 位
  • 如果平台目标启用Any CPU “首选 32 位”,它将尽可能以 32 位运行,否则以 64 位运行

你可以Environment.Is64BitProcess用来检查你的应用程序是如何运行的(或者只是在任务管理器中查看)。

对于您的情况,Any CPU 没有“首选 32 位”似乎是正确的选择。