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

IIS 不支援 ASP.NET 兩大成因與快速修復方案

編輯:Linux 教學

前言

IIS 部署 ASP.NET 應用時遇到「無法提供頁面」、「404.17」或 ISAPI 篩選器錯誤,通常源於兩大核心原因。本文提供精準診斷與一鍵修復步驟。

一、 兩大核心成因

  1. .NET Framework 未安裝:作業系統缺少對應版本 .NET 執行環境。
  2. 安裝順序錯誤:先裝 .NET Framework,再裝 IIS → IIS 未向 .NET 註冊 ISAPI 對應,導致 ASP.NET 請求無法路由。

二、 修復方案

情況 1:缺少 .NET Framework

  • 下載並安裝對應版本:.NET Framework 4.8(含 2.0/3.5 相容)、.NET 6/7/8(現代應用)。
  • 安裝後自動註冊 ISAPI,無需額外操作。

情況 2:安裝順序導致 ISAPI 遺失(經典修復)

  1. 開啟「Internet Information Services (IIS) 管理員」。
  2. 左側樹選擇伺服器節點 → 右側「ISAPI 和 CGI 限制」。
  3. 確認列表中存在 ASP.NET v4.0(或 v2.0)且狀態為「允許」。
  4. 若缺失,點擊右側「新增」:
    • ISAPI 路徑:C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll(x86)或 Framework64(x64)
    • 描述:ASP.NET v4.0
    • 勾選「允許擴充執行」。
  5. 進一步確認「處理常式對應」:站點 → 「處理常式對應」 → 確認 *.aspx、*.asmx 等對應至 aspnet_isapi.dll(經典模式)或 aspnetcore.dll(Core)。
  6. 重新啟動 IIS:iisreset 或管理介面重啟。

三、 現代化一鍵修復指令(推薦)

以管理員身分執行 PowerShell:

# .NET Framework 4.x 修復註冊
dism /online /enable-feature /featurename:IIS-ASPNET45 /all

# ASP.NET Core 執行環境(若為 Core 應用)
dotnet tool install -g dotnet-iis
dotnet iis register

四、 驗證步驟

  1. 建立測試頁 test.aspx:<% Response.Write("ASP.NET OK: " + DateTime.Now); %>
  2. 瀏覽器訪問 https://localhost/test.aspx,顯示時間即正常。
  3. 檢查應用程式集區:.NET CLR 版本設為「v4.0」(Framework)或「無受控碼」(Core)。

五、 常見坑點提醒

  • 32/64 位元不匹配:應用程式集區「啟用 32 位元應用程式」需與 .NET 版本一致。
  • Windows 功能未啟用:「開啟或關閉 Windows 功能」→ IIS → 「應用程式開發」→ 勾選「ASP.NET 4.x / ASP.NET Core」。
  • 多版本共存:同一應用程式集區僅支援單一 CLR 版本,不同版本建立獨立集區。

結語

IIS + ASP.NET 核心在於「ISAPI 註冊完整」與「應用程式集區版本正確」。現代部署優先用 dism 或 dotnet iis 指令自動化修復,避免手動點點點遺漏步驟。

Copyright © Windows教程網 All Rights Reserved