首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> ASP.NET 基礎

解決 IIS 瀏覽 ASPX 頁面顯示「無法顯示 XML 頁」錯誤:aspnet_regiis 註冊修復

     編輯:ASP.NET 基礎

在 IIS 中瀏覽 `.aspx` 頁面時,IE/Edge 顯示:

無法顯示 XML 頁。使用樣式表無法查看 XML 輸入。請更正錯誤然後單擊重新整理按鈕,或以後重試。
處理資源 'https://localhost/' 時出錯。第 1 行,位置: 2
<%@ Page Language="C#" ... %>
-^

**根本原因**:ASP.NET 沒有在 IIS 中正確註冊,導致 IIS 將 `.aspx` 視為靜態 XML 檔案直接輸出,而非交由 ASP.NET 執行引擎處理。常見於**先安裝 .NET Framework 再安裝 IIS**,或**重裝/修復 IIS** 後發生。

快速修復步驟 (Windows Server / Windows 10/11)

  1. 以**系統管理員身分**開啟「命令提示字元」或 PowerShell
  2. 切換至 .NET Framework 目錄 (視版本調整):
    cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
    # 或 64 位元版本 (IIS 通常用 64 位元)
    cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319
  3. 執行註冊指令:
    aspnet_regiis.exe -i
    • `-i`:安裝 ASP.NET 至 IIS (註冊 ISAPI 延伸模組、對應 `.aspx`/.`asmx` 等、建立應用程式集區)
    • 若需移除:`aspnet_regiis.exe -u`
  4. 等待完成訊息:`Finished installing ASP.NET (4.0.30319.0).`
  5. 5. 重新啟動 IIS:`iisreset` 或在 IIS 管理員右鍵伺服器 → 重新啟動 6. 重新瀏覽 `.aspx` 頁面驗證

圖示流程

aspnet_regiis -i 執行畫面

常見版本對應路徑

.NET 版本Framework 目錄指令
2.0 / 3.0 / 3.5C:\Windows\Microsoft.NET\Framework\v2.0.50727aspnet_regiis.exe -i
4.0 / 4.5 / 4.6 / 4.7 / 4.8C:\Windows\Microsoft.NET\Framework\v4.0.30319aspnet_regiis.exe -i
.NET Core / 5+不適用使用 `dotnet tool install -g dotnet-aspnet-codegenerator` 等現代工具,或安裝 ASP.NET Core Hosting Bundle

Windows Server 2012 R2 / 2016 / 2019 / 2022 特殊說明

這些版本 IIS 內建支援 .NET 4.x,**不需執行 `aspnet_regiis`**。請改用「伺服器管理員」→「新增角色及功能」→ 勾選:

  • Web 伺服器 (IIS) → 應用程式開發 → **ASP.NET 4.8 / 4.7 / 4.6 / 3.5**
  • 會自動完成註冊

Windows 10 / 11 專業版/企業版啟用 IIS + ASP.NET

  1. 控制台 → 程式集 → 開啟或關閉 Windows 功能
  2. 勾選:
    • Internet Information Services → World Wide Web Services → 應用程式開發 → **ASP.NET 4.8** (或 3.5)
    • Internet Information Services → 管理工具 → **IIS 管理主控台**
  3. 確定 → 系統自動安裝並註冊

驗證註冊成功的指標

  • IIS 管理員 → 處理常式對應 → 存在 `PageHandlerFactory-Integrated-4.0`、`PageHandlerFactory-ISAPI-4.0` 等對應 `.aspx`、`*.ashx` 的處理常式
  • 應用程式集區 → .NET CLR 版本 = `v4.0` (或 `v2.0`)
  • 瀏覽 `.aspx` 正常執行 C# 程式碼,不再顯示原始標記

避坑指南

情境問題解決
XP + IIS 5.1連線數限制 10、不支援 .NET 4.x升級作業系統或使用 IIS Express
XP + IIS 6.0缺少檔案、不穩定勿在 XP 安裝 IIS 6.0,僅用 5.1
.NET 4.0 安裝後裝 IISASP.NET 未註冊執行 `aspnet_regiis -i`
安裝 .NET 4.8 後網站屬性變英文介面語言切換正常現象,不影響功能
安裝 IIS 出現「請插入磁碟」組件衝突 (常見於遊戲元件)關閉「附屬應用程式 → 遊戲」再重裝 IIS
總結: 「無法顯示 XML 頁」經典錯誤 = ASP.NET 未在 IIS 註冊。管理員權限執行 `aspnet_regiis.exe -i` (對應 .NET 版本目錄) + `iisreset` 即可修復。Windows Server 2012+ 請用「伺服器管理員」安裝 ASP.NET 角色服務而非手動註冊。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved