2010-06-19 66 views
0

我有許多程序集和第三方實用程序的VS解決方案。在64位機器上運行時,我需要強制應用程序運行32位。該應用在32位機器上運行得很好。我強制.exe文件只需要32位,當在64位機器上運行時,我得到了「試圖加載格式不正確的程序」的錯誤。這是我的理解,改變exe將強制所有程序集加載爲32位。到底是怎麼回事?許多程序集強制32位的應用程序

回答

1

我知道這是一個老問題;也許你已經找到了你的答案。

我不熟悉設置ILONLY和32BITREQUIRED ...通常在編譯之前在編譯器下拉框中選擇x86而不是ANYCPU來處理所需的一切。您也可以驗證您的所有應用程序都已設置爲在配置管理器中編譯爲x86。

最有可能的是,您遇到的問題是您的第三方實用程序之一在64位計算機上安裝了64位DLL,而您的強制32位應用程序試圖加載64位DLL,位DLL。如果第三方DLL具有32位和64位版本,那麼安裝程序很有可能知道哪一個應該放下。檢查

兩個地方,你可以去64位機器上:

  1. 如果安裝到C程序:\ Program Files文件\,這是一個64位的DLL;否則它會被安裝到C:\ Program Files文件(x86)的\
  2. 導航到GAC命令行:C:\ WINDOWS \組裝和GAC_32下看起來與GAC_64。如果您在GAC_64下找到它,那麼您試圖加載64位DLL

HTH! James