在 IIS7 中将 .NET Framework 版本更改为 4.0 后出现 500 内部服务器错误

Ren*_*ené 5 windows-server-2008 iis-7 asp.net

我刚刚更改了 IIS7 管理器中应用程序池的 .NET Framework 版本,遵循 Microsoft Technet 的指定应用程序池 (IIS 7)说明的 .NET Framework 版本。现在,当我尝试重新上传我的 ASP.NET 页面时,它显示了一个 500 - 内部服务器错误。我尝试在 .NET 2.0(x86、x64、AnyCPU)和 4.0(x86、x64、AnyCPU)中上传它,但一切都给出了相同的错误。这是错误给我的所有详细信息:“您要查找的资源有问题,无法显示。”

在服务器上保留 .NET 2.0 版时,它工作得很好。此外,上传时index.htm,它也可以正常工作,它只显示 HTML 页面。

顺便说一下,这是在 Windows Server 2008 R2 上。

编辑:

我终于找到了如何获取错误详细信息。它们是:
Handler在其模块列表中"PageHandlerFactory-Integrated"有一个坏模块"ManagedPipelineHandler"。最可能的原因:

  • 使用托管处理程序;但是,ASP.NET 未安装或未完全安装。
  • 处理程序模块列表的配置中存在印刷错误。你可以尝试的事情:
  • 如果您使用托管处理程序,请安装 ASP.NET。
  • 确保正确指定了处理程序模块的名称。模块名称区分大小写并使用格式modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule"

我确信我已经完全安装了 ASP.NET。

Ren*_*ené 4

我找到了解决方案。显然,它没有注册我的 .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 Framework 版本,路径可能会有所不同!
要查看您需要的路径,请打开"C:\Windows\Microsoft.NET\Framework\",查看文件夹名称是什么,并进行相应调整,如下所示:"C:\Windows\Microsoft.NET\Framework\<version>\aspnet_regiis.exe"