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

时间:2011-07-27 14:59:18

标签: asp.net-mvc iis-7 configuration asp.net-4.0

我正在配置一个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 个答案:

答案 0 :(得分:940)

事实证明,这是因为即使我在“添加功能”对话框中选中了该框,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

记得以管理员身份运行命令提示符( CTRL + SHIFT + ENTER

答案 1 :(得分:17)

接受的答案是正确的,但有时您会得到“ Aspnet_regiis.exe无法识别为内部或外部命令,可运行程序或批处理文件。”错误消息。

要解决此问题,请尝试以下操作:

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

  2. 如果您确定没有安装.NET 4.0并希望将其作为.NET 2.0运行,请尝试this

  3.   

    如果您看到消息“Aspnet_regiis.exe未被识别为   内部或外部命令,可操作程序或批处理文件。“,开关   到了    C:\ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 \ Aspnet_regiis.exe -i   在命令提示符下。

答案 2 :(得分:8)

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

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

答案 3 :(得分:8)

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

我发现这些文章只需在命令提示符下运行以下命令即可解决此问题。

%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版本4.0.30319.33440用于安装和卸载ASP.NET的管理实用程序本地机器。版权所有(C)Microsoft Corporation。版权所有。开始安装ASP.NET(4.0.30319.33440)。此版本的操作系统不支持此选项。管理员应该使用"使用" Turn Win dows功能开/关"安装/卸载带有IIS8的ASP.NET 4.5。对话框,服务器管理器管理工具或dism.ee命令行工具。有关详细信息,请参阅http://go.microsoft.com/fwlin k /?LinkID = 216771。完成安装ASP.NET(4.0.30319.33440)。

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

解决方案:

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

这应解决问题。

答案 4 :(得分:3)

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

答案 5 :(得分:3)

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

答案 6 :(得分:2)

要在 Windows 8.1 Professional 计算机上解决此问题,请执行以下操作。

  1. 安装Web平台安装程序。 http://www.microsoft.com/web/downloads/platform.aspx

  2. 在Web平台安装程序中安装 ASP.NET 4.5 (此功能有一个依赖项)。

  3. 如果您只是从最常用的答案中尝试上述cmd提示命令,您将收到以下错误/警告消息:

    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)。 此版本的操作系统不支持此选项。 Administr ators应该使用" Turn Win来安装/卸载带有IIS8的ASP.NET 4.5 dows功能开/关"对话框,服务器管理器管理工具或dism.e xe命令行工具。有关详细信息,请参阅http://go.microsoft.com/fwlin K /?链路ID = 216771。 完成安装ASP.NET(4.0.30319.33440)。

答案 7 :(得分:2)

我遇到了同样的问题,我的解决方案是:

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

答案 8 :(得分:2)

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

答案 9 :(得分:1)

- 使用应用程序初始化功能 - 由于配置继承而要求错误的页面(.asp)

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

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

答案 10 :(得分:1)

我在Windows Server 2012中遇到了类似的问题,在服务器管理器中安装“ Application Server ”功能解决了这个问题。

答案 11 :(得分: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]中删除我的处理程序时,我的问题就消失了。

答案 12 :(得分:0)

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

启用32位应用程序= true

然后它工作正常!

答案 13 :(得分:0)

在某些情况下会出现此错误,因为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

答案 14 :(得分:0)

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

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

答案 15 :(得分:0)

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

typealias Next = (JSON) -> ()
typealias JSON = [String: Any]
typealias Middleware = (JSON, Next) -> ()

func process(middlewareList: [Middleware], value: JSON, done: @escaping Next) {
    guard !middlewareList.isEmpty else {
        done(value)
        return
    }
    let middleware = middlewareList.first!
    let slice = Array(middlewareList[1..<middlewareList.count])
    middleware(value) { json in
        process(middlewareList: slice, value: json, done: done)
    }
}

let hook1: Middleware = { json, done in
    print("hook 1")
    done(json)
}

let hook2: Middleware = { json, done in
    print("hook 2")
    var copy = json
    copy["hi"] = "hi"
    done(copy)
}

process(middlewareList: [hook1, hook2], value: [:], done: { json in
     print(json)
})

enter image description here

答案 16 :(得分: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" />

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

答案 17 :(得分:0)

  1. 运行cmd

  2. Aspnet_regiis.exe从以下位置拖放到命令提示符中:

    C:\Windows\Microsoft.NET\Framework64\v2.0.50727\
    
  3. 类型-i(例如Aspnet_regiis.exe -i

  4. 点击进入

  5. 等到过程完成

祝你好运!

相关问题