【发布时间】:2013-01-18 10:58:01
【问题描述】:
我很困惑应该选择什么目标平台设置来使我的应用程序能够在所有计算机上运行,而不管处理器类型如何。我尝试了 All CPU,但它在几台计算机上不起作用。
谢谢
【问题讨论】:
-
您尝试过哪种类型的计算机?
标签: visual-studio
我很困惑应该选择什么目标平台设置来使我的应用程序能够在所有计算机上运行,而不管处理器类型如何。我尝试了 All CPU,但它在几台计算机上不起作用。
谢谢
【问题讨论】:
标签: visual-studio
x86 适用于 32 位操作系统和 64 位操作系统,AnyCPU 也是如此。那么有什么区别呢?
不同之处在于 JIT 编译器在目标计算机上发出应用程序代码的方式。
当您使用x86 platform 时,JIT 发出的代码始终是 32 位代码,在 64 位系统上也是如此。
如果您没有安装应用程序所需的正确 32 个驱动程序/dll,这可能是一个问题(Microsoft.ACE.OleDB 是这些有问题的库之一)。
相反,当您使用AnyCPU platform 时,JIT 在 32 位系统上发出 32 位代码,在 64 位系统上发出 64 位代码。这比 x86 更成问题,因为您需要两个系统的正确驱动程序。所以我怀疑您的应用程序在某些系统上失败的原因是由于您的应用程序缺少正确的(对于系统位数)库。
我认为除非您对 64 位系统有非常具体的要求,否则我认为使用 x86 平台会更好。
【讨论】: