代码之家  ›  专栏  ›  技术社区  ›  Sedat Kapanoglu johnnywhoop

如何使.NET可执行文件在64位框架上运行

  •  3
  • Sedat Kapanoglu johnnywhoop  · 技术社区  · 15 年前

    我有一个默认为32位的可执行文件。它没有源代码,我想在系统上保留32位和64位框架。有没有办法让该可执行文件在64位.NET framework上运行?

    5 回复  |  直到 15 年前
        1
  •  4
  •   ShuggyCoUk    15 年前

    使用corflags工具翻转“64位可用”标志

    blog post

        2
  •  1
  •   lowglider    15 年前

    如果可执行文件是用.NET编写的,并且都是托管代码,那么在64位下运行它应该没有问题。用于x64的.Net Framework为32位和64位代码提供了CLR。

    考虑阅读Scott Hanselman的博客文章,它涵盖了这个问题:

    Back to Basics: 32-bit and 64-bit confusion around x86 and x64 and the .NET Framework and CLR

        3
  •  0
  •   Peter    15 年前

    你有源代码还是只有Exe?

    如果你有源代码,你可以把它编译成64位, 如果你不知道,你可以使用reflector获取源代码并重新编译为64位。

        4
  •  0
  •   Alexander    15 年前

    如果应用程序需要同时在32位和64位系统上运行,一个好方法是配置编译器以强制二进制文件在32位模式下运行。这将强制任何64位系统以32位仿真模式运行应用程序。(项目属性->构建->目标平台->“x86”而不是“任何CPU”)

        5
  •  0
  •   Dave Van den Eynde    15 年前

    blogged 关于这个。

    编写托管代码是一个很好的方法 不用担心任何x86的方式 (32位)与x64(64位)的详细信息。 编写托管代码,编译,然后 到处工作。

    因此,实际上,如果您为“任何CPU”构建它,它应该在64位操作系统上以64位模式自动运行。但是,只有在所有代码都得到管理的情况下,才能做到这一点。您应该阅读博客条目了解详细信息。

    推荐文章