0

我很困惑应该选择什么目标平台设置以使我的应用程序能够在所有计算机上运行,​​而不管处理器类型如何。我尝试了所有 CPU,但它在几台计算机上不起作用。

谢谢

4

1 回答 1

1

x86适用于 32 位操作系统以及 64 位操作系统,对于AnyCPU. 那么区别是什么呢?
不同之处在于 JIT 编译器在目标计算机上发出应用程序代码的方式。

当您使用x86 platformJIT 发出的代码时,始终是 32 位代码,在 64 位系统上也是如此。
如果您没有安装应用程序所需的正确 32 个驱动程序/dll,这可能是一个问题(这Microsoft.ACE.OleDB是这些有问题的库之一)。

相反,当您使用AnyCPU platformJIT 时,会在 32 位系统上发出 32 位代码,在 64 位系统上发出 64 位代码。这比 x86 更成问题,因为您需要两个系统的正确驱动程序。因此,我怀疑您的应用程序在某些系统上失败的原因是由于您的应用程序缺少正确的(对于系统位数)库。

毫无疑问,我认为最好使用 x86 平台,除非您对 64 位系统有非常具体的要求。

于 2013-01-18T11:10:51.350 回答