0

我的机器安装了最新的 Oracle ODP.NET x64(xCopy 版本)。我的机器是x64。我不知道目标机器是 x86 还是 x64,所以我在 VS 2012 中将构建属性设置为 AnyCPU。有一个默认复选框处于活动状态“首选 32 位”

编译没问题,但是当我运行代码时它说找不到程序集。取消选中“首选 32 位”可以解决此问题。

但这是什么原因造成的?我认为首选 32 位是可以的,但如果这是唯一的选择,它将使用 x64。

有任何想法吗?

4

1 回答 1

1

带有“首选 32 位”的“任何 CPU”将在 64 位机器上作为 32 位进程运行。而且由于 32 位进程无法加载 64 位 ODP.NET 程序集(以及本机 DLL),它会引发您提到的异常。

您可以在此处阅读有关“首选 32 位”设置的更多信息:https ://stackoverflow.com/a/12066861/631802

于 2013-04-16T10:43:24.210 回答