Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> 電腦軟體教學 >> 伺服器技術 >> 關於伺服器

IIS 報錯「嘗試加載格式不正確的程序集」完整解決方案

編輯:關於伺服器

問題背景

將 ASP.NET 網站或 WCF 服務發布到 IIS 後,運行時拋出「嘗試加載格式不正確的程序集」錯誤,導致應用無法啟動。

根本原因

核心原因是應用程式池的位數與作業系統/依賴組件不匹配。常見於 64 位系統上運行 32 位編譯的程式集,或反之亦然。

解決方案

方案一:註冊 32 位 IIS(需先移除 64 位註冊)

透過命令列切換 ASP.NET 版本,適用於必須全域使用 32 位模式的舊專案。

REM 卸載 64 位 ASP.NET
X:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis -u

REM 註冊 32 位 ASP.NET
X:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis -i

注意: X 為系統盤符(通常為 C:)。此操作會影響伺服器上所有站點,請謹慎使用。

方案二:啟用 32 位應用程式相容模式(推薦)

在 IIS 管理員中針對特定應用程式池啟用,不影響其他站點,風險較低。

  1. 開啟 IIS 管理員,點選左側「應用程式池」。
  2. 右鍵目標應用程式池 → 選擇「進階設定」。
  3. 找到「啟用 32 位應用程式」,將值改為 True。
  4. 確定並重新啟動應用程式池。

啟用 32 位應用程式設定截圖

後續常見問題:無法寫入 Temporary ASP.NET Files

若出現此權限錯誤,請檢查並建立目錄:

X:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files

然後授予 IIS_IUSRS 或對應應用程式池身分識別「讀取/寫入」權限即可。

Copyright © Windows教程網 All Rights Reserved