在32位操作系统中消耗64位dll
本文关键字:64位 dll 32位 操作系统 | 更新日期: 2023-09-27 17:58:50
目前我有一个用C#编写的应用程序。在内部,我正在使用另一个第三方dll,它也是用C#编写的,并在32位Windows中编译。第三方dll将在64位窗口中发布,最终我不得不使用这个新的dll。但我现在不想迁移到64位操作系统。
我的问题:这个新dll会影响我现有的代码吗?如果是,那么我需要如何以及进行哪些更改来适应此功能。
我很确定您不能在32位Windows中使用64位DLL。
您可以使用类似thunking的技巧或类似WoW64的32位子系统来执行其他方式,但您在32位版本中并不完全支持64位代码。。
希望你的第三方能继续提供32位版本的DLL,这样你就不必担心了。如果没有,你想升级,你也需要64位。
如果第三方库是C#库,则应编译为AnyCPU。(请与作者核实以确定。)
如果被编译为AnyCPU,那么如果你从32位程序中使用它,它将以32位运行,如果你从64位程序中用它,它也将以64位运行。
否则,您将需要更改自己的程序以匹配DLL。但如果他们不将其设置为AnyCPU,我会向他们抱怨。。。或者找出他们的动机是什么(也许是使用非托管DLL)。