在64位系统上将AnyCPU作为32位运行

时间:2012-06-08 08:46:54

标签: .net 32bit-64bit

我们正在使用似乎编译为AnyCPU的第三方程序集。

但是,我们的应用程序中有许多安装会导致问题。此第三方程序集使用oracle dataaccess库,并且不能在只安装32位oracle客户端的64位计算机上运行。

安装额外的64位oracle客户端是可能的,但也很昂贵(需要花费很多时间,许多机器必须更新等等。)

有没有办法强制AnyCPU .Net程序集以32位运行而无需重新编译?

2 个答案:

答案 0 :(得分:6)

假设您正在构建具有AnyCPU第三方程序集引用的.EXE,您需要将项目构建为x86。该项目可以引用AnyCPU程序集,但标记为x86,它将在32位和64位Windows上作为32位进程运行。

答案 1 :(得分:5)

查看CorFlags.exe

示例(设置32BIT标志):

corflags [path]\[YourAssembly.exe] /32Bit+