[英]Consuming 64bit dll in 32 bit OS
目前,我有一個用C#編寫的應用程序。 在內部,我正在使用另一個第三方dll,它也是用C#編寫並在32位Windows中編譯的。 第三方dll將在64位Windows中發布,最終我必須使用這個新的dll。 但我現在不想遷移到64位操作系統。
我的問題:這個新的dll是否會影響我現有的代碼? 如果是,那么我需要如何以及進行哪些更改以適應此功能。
我敢肯定,您不能在32位Windows中使用64位DLL。
您可以通過使用thunk之類的技巧或WoW64之類的32位子系統來實現另一種方式,但是您並不能完全支持32位版本中的64位代碼。
希望您的第三方將繼續提供其DLL的32位版本,因此您不必擔心。 如果沒有,並且您想升級,那么您也將需要64位。
如果第三方庫是C#庫, 則應將其編譯為AnyCPU。 (請務必與作者確認。)
如果它被編譯為AnyCPU,那么如果從32位程序中使用它,它會正常工作32位,如果你從64位程序中使用它,它就會為64位進行操作。
否則,您將需要更改自己的程序以匹配DLL。 但是,如果他們沒有將其設置為AnyCPU,我會向他們抱怨...或找出他們的動機(也許是使用非托管DLL)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.