2011-04-19 132 views
4

我有一個使用32位DLL的舊項目。這在32位處理器上工作正常,但是當我在64位操作系統上安裝相同的項目時,它不起作用。在64位機器上使用32位DLL

有什麼辦法將32位DLL轉換爲64位?有沒有其他解決方案的解決方案,使我的32位DLL工作在64位操作系統?

+0

您現有的項目內置了什麼?這是一個.Net解決方案嗎? – Justin 2011-04-19 04:56:09

+0

Asp中的現有項目 – Nhuren 2011-04-28 09:53:28

回答

5

只要將32位DLL加載到32位進程中,嘗試將32位DLL加載到64位進程就會失敗,您的32位dll在64位機器上應該可以正常工作。

如果你的項目是一個.NET(如C#)應用程序,那麼你應該能夠針對您裝配在86中爲了讓您的32位DLL工作correclty:

  • 右鍵點擊你的項目Visual Studio和選擇屬性
  • 在生成項目屬性選項卡確保目標平臺下拉讀取,而不是「任何CPU」

如果你的平臺的目標是「任何CPU」,那麼你的項目將「86」通常針對任何平臺是可用的,即64位操作系統上的x64 - 這將阻止您的32位dll被加載。

如果您的項目不是.Net程序集,那麼執行上述操作所需的等效步驟將有所不同。

或者,您可以嘗試獲取您的dll的64位版本 - 如果它是您製作的dll,那麼您將需要將它自己遷移到64位。如果不是,那麼您依賴於提供64位兼容版本的原始供應商。

相關問題