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

IIS 重新註冊 ASP.NET 4.x / 2.0 完整命令參數詳解 (aspnet_regiis.exe)

     編輯:ASP.NET 基礎

當 IIS 安裝順序錯誤(先裝 IIS 再裝 .NET)、手動移除腳本對應、或升級 .NET 版本後,需執行 aspnet_regiis.exe 重新註冊 ASP.NET ISAPI 擴充與腳本對應。本文提供完整參數說明與常用情境指令。

工具位置

C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe      (32-bit)
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe   (64-bit)

.NET 2.0/3.5 位於 v2.0.50727 目錄

最常用指令

指令用途說明
aspnet_regiis.exe -i 完整安裝/註冊 安裝目前版本 ASP.NET,更新 IIS 元件資料庫根節點及所有子應用程式的腳本對應,現有舊版對應會升級。最常用。
aspnet_regiis.exe -ir 僅註冊不更新對應 安裝 ASP.NET 但不修改現有腳本對應,適合多版本共存需手動管理對應時。
aspnet_regiis.exe -i -enable 註冊並啟用 IIS 7.0+ 需額外在 ISAPI/CGI 限制清單中啟用 ASP.NET,此參數一次完成。
aspnet_regiis.exe -u 解除安裝 移除目前版本註冊,腳本對應自動指向機器上剩餘最高版本。
aspnet_regiis.exe -ua 移除所有版本 清除機器上所有 ASP.NET 版本註冊。

進階:針對特定網站/應用程式操作

# 僅為「預設網站/Root/App1」註冊腳本對應 (遞迴)
aspnet_regiis.exe -s "W3SVC/1/ROOT/App1"

# 非遞迴 (僅該層級)
aspnet_regiis.exe -sn "W3SVC/1/ROOT/App1"

# 強制重寫該路徑所有腳本對應為目前版本 (遞迴)
aspnet_regiis.exe -r "W3SVC/1/ROOT/App1"

# 移除指定路徑所有 ASP.NET 腳本對應 (遞迴)
aspnet_regiis.exe -k "W3SVC/1/ROOT/App1"

# 非遞迴移除
aspnet_regiis.exe -kn "W3SVC/1/ROOT/App1"

查詢與診斷參數

參數功能
-lv列出機器上所有已安裝 ASP.NET 版本、狀態、安裝路徑
-lk列出 IIS 元件資料庫中所有擁有 ASP.NET 腳本對應的路徑與版本
-c將目前版本客戶端腳本 (WebUIValidation.js 等) 複製到每個網站的 aspnet_client 目錄
-e移除目前版本客戶端腳本
-ea移除所有版本客戶端腳本

IIS 7.0+ (整合模式) 特別說明

  • 整合模式應用程式池不依賴 ISAPI 對應,aspnet_regiis -i 仍需執行以註冊模組、處理常式與機器層級設定。
  • 若遇到「無法載入類型」或「找不到處理常式」,嘗試:aspnet_regiis -i -enable 後重啟 IIS (`iisreset`)。
  • 模組註冊位於 `system.webServer/modules` 與 `handlers`,可在 `applicationHost.config` 或網站 `web.config` 檢查。

完整參數速查 (官方輸出摘要)

aspnet_regiis.exe [options]
  -i           Install this version of ASP.NET (update scriptmaps)
  -ir          Install (register only, no scriptmap update)
  -enable      Enable ASP.NET in IIS restriction list (with -i/-ir)
  -s path      Install scriptmaps recursively at path
  -sn path     Install scriptmaps non-recursively at path
  -r path      Reinstall scriptmaps recursively at path (force)
  -u           Uninstall this version
  -ua          Uninstall all versions
  -k path      Remove all scriptmaps recursively at path
  -kn path     Remove all scriptmaps non-recursively at path
  -lv          List all installed versions with status
  -lk          List all metabase keys with scriptmaps
  -c           Install client scripts to aspnet_client
  -e           Remove client scripts for this version
  -ea          Remove all client scripts
  -?           Show this help

實操檢查清單

  1. 以**系統管理員身分**開啟命令提示字元 / PowerShell。
  2. 切換至正確 .NET 版本目錄 (Framework 或 Framework64)。
  3. 執行 `aspnet_regiis.exe -i -enable` (IIS 7+) 或 `aspnet_regiis.exe -i` (IIS 6)。
  4. 執行 `iisreset` 重啟 IIS。
  5. 開啟 IIS 管理員 → 處理常式對應 / ISAPI 與 CGI 限制,確認對應版本已啟用。
  6. 瀏覽測試 .aspx 頁面,確認無「無法載入類型」或 404/500 錯誤。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved