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

7 .net 32bit-64bit

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

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

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

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

Mar*_*age 7

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


slo*_*oth 6

看看CorFlags.exe.

示例(设置32BIT标志):

corflags [path]\[YourAssembly.exe] /32Bit+
Run Code Online (Sandbox Code Playgroud)