在本地開發環境中運行正常的 ASP.NET 應用程式,部署到阿里雲伺服器後出現以下錯誤:
在應用程式層級之外使用註冊為 allowDefinition='MachineToApplication' 的節是錯誤的。如果在 IIS 中沒有將虛擬目錄配置為應用程式,則可能導致此錯誤。

這個錯誤通常發生在 web.config 中包含了只能在應用程式根目錄下使用的配置節(如 <authentication>、<sessionState> 等),但該目錄在 IIS 中未被設定為「應用程式」。常見情況包括:
如果該目錄不應作為獨立應用程式運行,請檢查 web.config 並移除只能在應用程式根目錄使用的配置節。例如:
<!-- 這些節點只能出現在網站根目錄的 web.config 中 -->
<authentication mode="Windows" />
<sessionState mode="InProc" />
將其刪除或移至網站根目錄的 web.config 中。
確保專案發布時未勾選「包含父目錄配置」等選項,避免將根目錄配置誤複製到子應用程式中。
完成上述配置後,重新啟動 IIS 網站(或回收應用程式池),再次訪問應用程式,錯誤應不再出現。若問題持續,請檢查事件查看器中的 ASP.NET 錯誤日誌以獲取更詳細信息。