在 IIS7 中將 .NET Framework 版本更改為 4.0 後出現 500 內部伺服器錯誤
我剛剛在 IIS7 管理器中更改了應用程序池的 .NET Framework 版本,遵循 Microsoft Technet為應用程序池 (IIS 7) 指定 .NET Framework 版本的說明。現在,當我嘗試重新上傳我的 ASP.NET 頁面時,它會顯示 500 - Internal server error。我嘗試在 .NET 2.0(x86、x64、AnyCPU)和 4.0(x86、x64、AnyCPU)中上傳它,但一切都給出了相同的錯誤。這是錯誤給我的所有詳細資訊:“您要查找的資源有問題,無法顯示。”
在伺服器上保留 .NET 2.0 版時,它工作得很好。此外,在上傳時
index.htm
,它也可以正常工作,它只顯示 HTML 頁面。順便說一下,這是在 Windows Server 2008 R2 上。
編輯:
我終於找到瞭如何獲取錯誤詳細資訊。它們是:
處理程序在其模組列表中
"PageHandlerFactory-Integrated"
有一個壞模組。"ManagedPipelineHandler"
最可能的原因:
- 使用託管處理程序;但是,ASP.NET 未安裝或未完全安裝。
- 處理程序模組列表的配置中存在印刷錯誤。你可以嘗試的事情:
- 如果您使用託管處理程序,請安裝 ASP.NET。
- 確保正確指定處理程序模組的名稱。模組名稱區分大小寫並使用格式
modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule"
我確信我已經完全安裝了 ASP.NET。
我找到了解決方案。顯然,它沒有註冊我的 .NET 4.0 安裝。我只需要使用參數執行這個程序:
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i"
,它就修復了它!請注意,路徑
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe"
可能會根據安裝的 .NET 框架版本而有所不同!要查看您需要的路徑,請打開
"C:\Windows\Microsoft.NET\Framework\"
並查看文件夾名稱,然後進行相應調整,如下所示:"C:\Windows\Microsoft.NET\Framework\<version>\aspnet_regiis.exe"