用.net显式编译x64是否明智

本文关键字:是否 x64 编译 net | 更新日期: 2023-09-27 17:58:19

当前我正在创建一个MSI,用于在x64系统上安装我的.net编写的(C#)软件。这是必要的,因为我生成了一些注册表项,并且我不想通过编程来决定我必须指向哪个注册表路径(避免WOW6432节点)。

在此期间,我问自己,是否有必要为x64系统显式编译我的软件(运行配置"x64")。目前,我总是用"AnyCPU"在Visual Studio平台无关的环境中编译我的软件。在我的源代码中,我不区分x64和x86。

CIL代码是由JIT编译器编译的,所以我认为它会在运行时显式地将其编译为64位,或者我错了吗?

visualstudio中的显式"x64"编译和平台无关编译之间有什么区别?如何影响x64标志的编译?

用.net显式编译x64是否明智

如果您的程序(带任意CPU)在64位平台上启动,它将以64位模式启动。这通常会很好地工作-如果您的程序依赖于只有32位版本可用的本机库,则是例外。当调用该库时,它将无法加载该库(因此任何问题都可能不会立即显现)。

还可以在运行时使用标志强制32位模式。