首页 文章

如何修复:处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误的模块“ManagedPipelineHandler”

提问于
浏览
537

我正在配置一个MVC 3项目来处理IIS的本地安装,并遇到以下500错误:

处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误的模块“ManagedPipelineHandler” .

事实证明,这是因为即使我在“添加功能”对话框中选中了该框,ASP.Net也没有完全安装IIS . 要解决此问题,我只需在命令提示符下运行以下命令

%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i

如果我使用32位系统,它将如下所示:

%windir%\Microsoft.NET\Framework\v4.0.21006\aspnet_regiis.exe -i

我的问题是,有没有办法在Windows 7机器上安装IIS以使用.NET 4.0(MVC 3)而无需采取额外步骤?

18 回答

  • 8

    我在Windows Server 2012中遇到了类似的问题,在服务器管理器中安装功能“ Application Server ”修复了该问题 .

  • 3

    我有这个问题,发现删除以下文件夹有帮助,即使使用非Express版本 . 快递:

    C:\Users\<user>\Documents\IISExpress

  • 0

    我为.Net 4添加了ISAPI / CGI路径 . 这没有解决问题 . 然后我对.Net V4(客户端和扩展)安装进行了修复 . 哪个要求重启 . 这为我修好了 .

  • 1

    要解决此问题,请尝试修复.net框架4,然后运行该命令

    %windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i
    

    enter image description here

  • 0

    我还要先检查一下:应用程序池设置为正确的框架,并且IIS应用程序实际上指向放置文件的文件夹

  • 3

    要在 Windows 8.1 Professional 机器上修复此问题,请执行以下操作 .

    如果您只是从最流行的答案中尝试上述cmd prompt命令,您将收到以下错误/警告消息:

    C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319> aspnet_regiis.exe -i Microsoft(R)ASP.NET RegIIS版本4.0.30319.33440管理实用程序,用于在本地计算机上安装和卸载ASP.NET . 版权所有(C)Microsoft Corporation . 版权所有 . 开始安装ASP.NET(4.0.30319.33440) . This option is not supported on this version of the operating system . 管理员应该使用"Turn Win dows Features On/Off"对话框,服务器管理器管理工具或dism.eee命令行工具,使用IIS8安装/卸载ASP.NET 4.5 . 有关详细信息,请参阅http://go.microsoft.com/fwlin k /?LinkID = 216771 . 完成安装ASP.NET(4.0.30319.33440) .

  • 17

    Error: Handler “PageHandlerFactory-Integrated” has a bad module “ManagedPipelineHandler” in its module list

    我通过在命令提示符下运行以下命令找到了解决此问题的文章 .

    %windir%\ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_regiis.exe -i

    如果系统是32位,它看起来像这样:

    %windir%\ Microsoft.NET \ Framework \ v4.0.21006 \ aspnet_regiis.exe -i

    但是,当我尝试使用cmd提示符执行这些命令时,我收到以下错误/警告消息:

    C:\Windows\Microsoft.NET\Framework64\v4.0.30319>aspnet_regiis.exe -i Microsoft (R) ASP.NET RegIIS version 4.0.30319.33440 Administration utility to install and uninstall ASP.NET on the local machine. Copyright (C) Microsoft Corporation. All rights reserved. Start installing ASP.NET (4.0.30319.33440). This option is not supported on this version of the operating system. Administr ators should instead install/uninstall ASP.NET 4.5 with IIS8 using the "Turn Win dows Features On/Off" dialog, the Server Manager management tool, or the dism.e xe command line tool. For more details please see http://go.microsoft.com/fwlin k/?LinkID=216771. Finished installing ASP.NET (4.0.30319.33440).

    要在Windows 8.1上修复此问题,我建议您执行以下操作 .

    解:

    Go to - Turn Windows features on or off > Internet Information Services > World Wide Web Services > Application Development Features >Enable ASP.NET 4.5

    这应该可以解决问题 .

  • 0

    当我尝试将apppool从经典切换到集成时,我在我的一个网络服务器上遇到了这个问题 . 它在我的其他两个Web服务器上运行良好,而不仅仅是这个 . 它是Server 2012,所以你不能做aspnet_regiis并且没有setupcache文件夹来尝试修复 . 一切都在功能下正确设置 .

    经过%windir%\ system32 \ inetsrv \ config \ applicationHost.config后,我发现了一个关键的缺失位 . 在我的非工作人员之下缺少以下两行:

    <add name="ManagedEngineV4.0_32bit" image="C:\Windows\Microsoft.NET\Framework\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness32" />
            <add name="ManagedEngineV4.0_64bit" image="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness64" />
    

    一旦我添加它们,一切都很好 .

  • 1

    要解决此问题,请尝试 repair the .net framework 4 然后运行该命令

    %windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i
    
  • 2

    在某些情况下会发生此错误,因为ASP .NET的Microsoft .NET Framework 4.0配置已损坏,如果在Visual Studio 2010或Microsoft SQL Server 2008之前安装了Microsoft Visual Studio 2012,则会发生此错误 .

    在尝试了不同的事情后,我得出结论,通过运行以下命令修复.Net安装 . 有关更多信息,请点击链接 .

    C:\Windows\Microsoft.NET\Framework64\v4.0.30319\SetupCache\v4.5.51209\setup.exe /repair /x86 /x64 /ia64 /norestart
    

    https://msdn.microsoft.com/en-us/library/hh168535(v=nav.80).aspx

  • 2

    事实证明,这是因为即使我在“添加功能”对话框中选中了该框,ASP.Net也没有完全安装IIS . 要解决此问题,我只需在命令提示符下运行以下命令

    %windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i
    

    如果我使用32位系统,它将如下所示:

    %windir%\Microsoft.NET\Framework\v4.0.21006\aspnet_regiis.exe -i
    

    Remeber to run the command prompt as administrator (CTRL+SHIFT+ENTER)

  • 935

    我有同样的问题,我的解决方案是:

    转到“打开或关闭Windows功能”> Internet信息服务>万维网服务>应用程序开发功能>启用ASP.NET 4.5

  • 0

    如果要在不安装MVC的情况下部署MVC应用程序,则可以deploy the MVC DLL's with your application . 这可以解决安装MVC 3.您可以在某些.Net 4.0命名空间中使用功能,而无需使用类似的方法安装.Net .

  • 8
    • 使用应用程序初始化功能 - 因配置而请求错误页面(.asp)遗产

    仅在第一个用户连接上将发生500.21 . 后续连接工作 .

    通过更正.NET网站上的applicationInitialization url集合解决 .

  • 0

    这些都不适合我 . 因此,当我将各种应用程序池与有效的应用程序池进行比较时,我不得不进入应用程序池的高级设置,并设置

    启用32位应用程序= true

    然后它工作正常!

  • 0

    我有同样的问题,在我的情况下,处理程序在两个地方:

    <system.web>
    ...
    <httpHandlers>
     <add verb="*" path="*.ashx" type="ApplicArt.Extranet2.Controller.FrontController, ApplicArt.Extranet2.Web.UI" />
      </httpHandlers>
    </system.web>
    
    <system.webServer>
    <handlers>
       ...
      <add name="FrontController" verb="*" path="*.ashx" type="ApplicArt.Extranet2.Controller.FrontController, ApplicArt.Extranet2.Web.UI"/>
    </handlers>
    </system.webServer>
    

    当我从[system.webServer]中删除我的处理程序时,我的问题就消失了 .

  • 3

    我已经尝试在命令提示符下执行aspnet_regiis,但我得到了答案,我没有管理员权限 . 然后,经过一些谷歌搜索和寻找解决方案,我试图右键单击cmd并以管理员身份运行它 . 当对话框出现时确认是,再次运行aspnet_iis,ant就像魅力一样 . 简而言之:1 . 检查app_pool中的.NET框架2.运行cmd作为管理员3.运行aspnet_regiis -i

  • 2

    接受的答案是正确的,但有时您会收到“ Aspnet_regiis.exe is not recognized as an internal or external command, operable program or batch file. ”错误消息 .

    要解决它,请尝试以下操作:

    • 确保.NET 4.0安装没有损坏(运行安装程序并“修复”它) . 它根本没有安装在你的机器上 .

    • 如果您安装了.NET 4.0并希望将其作为.NET 2.0运行,请尝试this

    如果您看到消息“Aspnet_regiis.exe未被识别为内部或外部命令,可运行的程序或批处理文件 . ”,请切换到C:\ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 \ Aspnet_regiis.exe - 我在命令提示符下 .

相关问题