我开发的ASP.NET/C#代码本质上是否是32/64位不可知的,因为它被编译成某种中间语言?我之所以问这个问题是因为我在x64笔记本电脑上编译我的ASP.NET应用程序,然后在x32服务器上部署。没有出现任何问题。此外,在VS2010中,我看不到选择32位和64位构建的选项。
你可以将代码编译为以下平台: AnyCPU - 在32位运行时上以32位执行,在64位运行时上以64位执行 x86 - 强制以32位执行 x64 - 强制以64位执行(无法在32位操作系统上运行) (IA64 - Itanumim) 如果你编译为 AnyCPU,那么你就很安全了,而且大多数情况下,你会使用 AnyCPU 平台目标。(在 Visual Studio 中,选择“生成”->“配置管理器”)当编译 .Net 代码时,它会被编译成中间语言代码(MSIL),然后由 .Net 框架/运行时在运行时编译成本地代码。
有一些第三方库只能以x86运行。 最好的方法是让您的本地环境(本地IIS)尽可能地与目标Web服务器的设置匹配。因此,如果您的目标IIS仅以32位运行,请将应用程序池的“强制32位”属性设置为true。