我几乎可以肯定这是不可能的,但值得一问......
我们有一个从我们的 VB6 应用程序调用的 .NET DLL。VB6 应用程序在 32 位进程中运行,因此 DLL 在同一进程中运行(它被编译为任何 cpu)因此,当我在 DLL 中执行我的 ODBC 数据库访问时,将仅使用 32 位驱动程序,因为这是它认为的它需要(记录数据库是 Pervasive PSQL)
当应用程序在 64 位机器上运行(仅安装 64 位 ODBC 驱动程序时)时出现我的问题,因为它找不到合适的驱动程序来使用。
那么有没有办法强制 .NET DLL 在 64 位进程中运行(编译为 x64 不起作用,因为不允许注册 COM 互操作)
在这个时间点这不一定是问题,因为我可以安装 32 位驱动程序,但在将来的某个时候,我可以想象 32 位驱动程序可能不可用,所以我会在众所周知的小河上。