2013-02-11 198 views
0

目前我有一个用C#编写的应用程序。在内部,我正在使用另一个第三方DLL,它也是用C#编写的,并在32位Windows中编译。第三方DLL将在64位窗口中发布,最终我必须使用这个新的DLL。但我现在不想迁移到64位操作系统。在32位操作系统中使用64位dll

我的问题:这个新的DLL会影响我现有的代码吗?如果是的话,那么我需要执行哪些以及如何更改以适应此功能。

回答

2

如果第三方库是C#库,那么应将编译为AnyCPU。 (请与作者确认。)

如果它编译为AnyCPU,那么如果从32位程序使用它,它将以32位方式运行,并且如果您使用它从64位位程序将以64位运行。

否则,您将需要更改自己的程序以匹配DLL。但是如果他们没有将它设置为AnyCPU,我会向他们抱怨......或者找出他们的动机是什么(也许它使用的是非托管DLL)。

3

我很确定你不能在32位Windows中使用64位DLL。

您可以通过使用像置信转换位或32位的子系统样了WoW64技巧去其他方式,但你没有全部在32位版本的64位代码的支持..

希望你的第三方将继续提供他们的DLL的32位版本,所以你不必担心它。如果没有,并且你想升级,你还需要去64位。

相关问题