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


543

我正在配置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),而无需采取额外步骤?


2
这个问题实际上解决了我的问题。如果可以的话,我会回答这个问题。:)
Seregwethrin 2014年

是的,问题的描述也解决了我的问题。谢谢:-)
sramsay

Answers:


950

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


您可能具有“无法将Aspnet_regiis.exe识别为内部或外部命令,可操作程序或批处理文件。” 错误。在这种情况下,您的可执行文件不是来自.NET 4.0文件夹,而是来自2.0版本的文件夹(请参见下面的答案)
Nikita G.

在某些站点中,我读到我们需要运行aspnet_regiis.exe,但没有人解释说该参数是必需的,否则什么也不会发生。
皮门塔(Pimenta)2012年

简单的答案。我知道这是一个错误的安装,不知道如何纠正它。
elcool

请注意,如果您使用的是Windows Server 2012,则需要通过“管理”>“添加角色和功能”>“功能”来实现。在我的情况下,IIS8需要安装/激活ASP.NET 4.5。
斯塔克2014年

5
记得以管理员身份运行
Reid Evans

17

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

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

  1. 确保您的.NET 4.0安装未损坏(运行安装程序并对其进行“修复”)。也有可能根本没有在计算机上安装它。

  2. 如果您确定没有安装.NET 4.0并想将其作为.NET 2.0运行,请尝试以下操作

如果看到消息“无法将Aspnet_regiis.exe识别为内部或外部命令,可操作程序或批处理文件。”,请切换到 C:\ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 \ Aspnet_regiis.exe -i 在命令提示符下。


Aspnet_regiis.exe -i解决了Win Server 2008 IIS7上的问题。
VSB 2014年

9

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

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

9

错误:处理程序“ 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

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

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)。此版本的操作系统不支持此选项。管理员应该使用“打开/关闭Dow Win dows功能”对话框,服务器管理器管理工具或dism.exe命令行工具,将IIS8与ASP.NET 4.5一起安装/卸载。有关更多详细信息,请访问http://go.microsoft.com/fwlin k /?LinkID = 216771。完成安装ASP.NET(4.0.30319.33440)。**

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

解:

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

这样可以解决问题。


我有同样的问题。谢谢!对我来说,我必须启用“ ASP.NET 4.6”。
珍妮·奥雷利

4

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


很明显...却很容易被忽略。谢谢!
Paul Lemke

这是我的问题。显然,我以某种方式取消了此设置,或者将其设置为“无托管代码”。将其切换回v4.0可以加载我的网站。
redOctober13

3

如果要部署MVC应用程序而不安装MVC,则可以随应用程序一起部署MVC DLL。这可以解决安装MVC 3的问题。您可以在某些.Net 4.0命名空间中使用功能,而无需使用类似的方法安装.Net。


4
用iis注册asp.net与存在或不存在mvc无关,是的,您可以在bin文件夹中包含所需的dll,但是如果iis无法识别asp文件,则这些dll不能做什么
Shekhar

3

我为.Net 4添加了ISAPI / CGI路径。该路径无法解决问题。因此,我随后对.Net V4(客户端和扩展)安装进行了修复。要求重启。这为我解决了。


2

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

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

  2. 在Web Platform Installer中安装ASP.NET 4.5(此功能具有一个依赖性)。

如果仅从最受欢迎的答案中尝试上述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)。 此版本的操作系统不支持此选项。管理员应该改为使用“打开/关闭Win Dows功能”对话框,服务器管理器管理工具或dism.e xe命令行工具与IIS8安装/卸载ASP.NET 4.5。有关更多详细信息,请访问http://go.microsoft.com/fwlin k /?LinkID = 216771。完成安装ASP.NET(4.0.30319.33440)。


2

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


2

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

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


这就像一种魅力,但是,由于它是“应用程序开发功能”,因此我有什么理由不想在生产服务器上这样做吗?
菲利普·斯特拉特福德2015年

我对该功能了解不足,无法评论在生产环境中使用该功能。但是,我确实发现此链接可能对technet.microsoft.com/en-us/library/hh831475.aspx有用。它还包含一个命令,可用于通过命令提示符安装IIS和ASP.NET模块,该命令可能更适合您的生产需求。
Ryan Burbidge 2015年

1

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


1

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

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

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


1
  1. cmd

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

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

  4. 点击进入

  5. 等到过程完成

祝好运!


0

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

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


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]中删除处理程序时,我的问题消失了。


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/zh-CN/library/hh168535(v=nav.80).aspx



0

尝试将应用程序池从经典模式切换为集成模式时,我在其中一个Web服务器上遇到了此问题。它在我的其他两个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" />

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.