代码之家  ›  专栏  ›  技术社区  ›  Erx_VB.NExT.Coder

能否在64位PC/OS上安装.NET Framework客户端配置文件32位版本?

  •  2
  • Erx_VB.NExT.Coder  · 技术社区  · 14 年前

    我问这个主要是因为我不想同时发布这两个版本,如果我需要在x64电脑上安装一个64位.NET,在32位电脑上安装一个32位.NET,那么我需要在我的加载程序中进行此检查,以便为正确的电脑下载正确的版本。

    然而,如果我只是做一个为所有人,这将是更容易的-我只想知道是否有什么我应该知道在这样做之前(即:任何影响?)还是一切都好?

    谢谢。

    2 回复  |  直到 14 年前
        1
  •  5
  •   Mikael Svenson    14 年前

    如果您的编译目标是任何CPU,则应用程序将在64位操作系统上运行64位,在32位操作系统上运行32位。如果您的目标是x86,那么无论操作系统如何,应用程序都将以32位运行。如果目标是x64,则应用程序将仅在64位操作系统上运行。

    64位版本的.Net还包括32位的dll。

    如果必须从Internet安装运行时,请使用 web installer . 它将负责在客户端下载和安装正确的版本。这样,您就可以瞄准任何CPU(或x86),并确保无论操作系统如何,应用程序都将运行。

    如果需要将.Net与应用程序打包,请下载包含32/64位版本的完整文件- http://download.microsoft.com/download/9/5/A/95A9616B-7A37-4AF6-BC36-D6EA96C8DAAE/dotNetFx40_Full_x86_x64.exe

    Client profile web install

    Client profile full install

    可以使用 /q 参数,您可能需要添加 /norestart 如果需要的话,你也可以自己重新启动。

    blog post 以及 MSDN documentation 有哪些开关可用。

        2
  •  3
  •   Hans Passant    14 年前

    没有64位版本的VS2010,不用担心。

    在Project+Properties,Build选项卡中,您的EXE项目的平台目标设置是相关的。在VS2010中从头开始创建的项目中,它默认为x86。除非您需要64位进程可以提供的额外虚拟内存空间,否则没有任何理由将其更改为用于发布版本的AnyCPU。如果你确实改变了它,那么一定要彻底测试它。我知道您一直在修补非托管COM服务器,x86可能是一个硬要求。