我刚刚在Microsoft Technet 指定了应用程序池的.NET Framework版本(IIS 7)说明,在IIS7pipe理器中更改了我的.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上。
编辑:
我终于find了如何得到错误的细节。 他们来了:
处理程序"PageHandlerFactory-Integrated" "ManagedPipelineHandler"在模块列表中有一个错误的模块"ManagedPipelineHandler" 。 最可能的原因:
modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" 我相信我已经完全安装了ASP.NET。
我find了解决scheme。 显然,它没有注册我的.NET 4.0安装。 我只需要运行这个程序的参数: "C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i" ,并修复了它!
请注意,path"C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe"可能因安装的.NET Framework版本而异!
若要查看所需的path,请打开"C:\Windows\Microsoft.NET\Framework\" ,并查看文件夹名称,并相应地进行调整,如下所示: "C:\Windows\Microsoft.NET\Framework\<version>\aspnet_regiis.exe"
有特定的vs版本的特定命令控制台。 所以它可以避免这种长path头痛,因为它已经在vs特定的命令控制台中设置了。 进入VS程序目录并find命令控制台,打开时只需键入
aspnet_regiis.exe -i
您需要确保任何给定应用程序池中的每个应用程序都以.NET框架的相同版本为目标。 如果你有混合版本,那么你需要创build多个应用程序池。
应用程序没有指定运行的框架的版本。 显然(在这种情况下)它想运行一个2.0框架。 我会创build另一个应用程序池,并隔离该应用程序池中的应用程序。 您可以将框架的版本分配给兼容的应用程序池(本例中为2.0)