我们正在使用似乎被编译为AnyCPU的第三方程序集。
但是,我们有许多应用程序的安装,这会导致问题。此第三方程序集使用 oracle 数据访问库,在仅安装了 32 位 oracle 客户端的 64 位计算机上不起作用。
安装额外的 64 位 oracle 客户端是可能的,但也很昂贵(需要大量时间,许多机器必须更新等)
有没有办法强制 AnyCPU .Net 程序集以 32 位运行而无需重新编译?
看看CorFlags.exe。
示例(设置 32BIT 标志):
corflags [path][YourAssembly.exe] /32Bit+
假设您正在构建引用 AnyCPU 第三方程序集的.EXE,您需要将项目构建为 x86。此项目可以引用 AnyCPU 程序集,但标记为 x86,它将在 32 位和 64 位 Windows 上作为 32 位进程运行。