2012/07/24

64bit 版本 IIS 執行 32bit 組件的問題

無法載入檔案或組件 'xxxx' 或其相依性的其中之一。 試圖載入格式錯誤的程式。
描述: 在執行目前 Web 要求的過程中發生未處理的例外情形。請檢閱堆疊追蹤以取得錯
誤的詳細資訊,以及在程式碼中產生的位置。

例外詳細資訊: System.BadImageFormatException: 無法載入檔案或組件 'nfop' 或其相
依性的其中之一。 試圖載入格式錯誤的程式。

原始程式錯誤:

在執行目前 Web 要求期間,產生未處理的例外狀況。如需有關例外狀況來源與位置的資
訊,可以使用下列的例外狀況堆疊追蹤取得。

組件載入追蹤: 下列資訊在確定為何無法載入組件 'nfop' 時是有幫助的。


警告: 組件繫結記錄切換為 OFF。
若要記錄組件繫結失敗,請將登錄值 [HKLM\Software\Microsoft\Fusion!EnableLog]
(DWORD) 設為 1。
注意: 與組件繫結失敗記錄相關的效能會有部分負面影響。
若要關閉此功能,請移除登錄值 [HKLM\Software\Microsoft\Fusion!EnableLog]。

解法:




原因是某個dll檔是 32bit only 不相容 64bit 不是機碼哪邊要動

目前此一問題在 64bit OS 上所啟動的 IIS 會發生

解法為進入 IIS 管理員內把分頁切換到站台下的應用程式集區

並在對應的 pool 上右鍵選進階設定,將 啟動32位元應用程式 設定為 True 即可

不知道網頁是用哪個應用程式集區,可以切換到網頁的目錄下右鍵選進階設定就看得到了


--
※ 發信站: 批踢踢兔(ptt2.cc)
◆ From: 60.250.147.33
→Corsair :結果這個nFop竟然是Free的元件!? 推 08/14 23:42

沒有留言:

張貼留言