我正在配置一个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)而不需要额外的步骤?


当前回答

在某些情况下,发生此错误是因为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

其他回答

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

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

我在Windows server 2012上也有类似的问题,在服务器管理器中安装“应用服务器”功能修复了这个问题。

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

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

当我试图将一个应用程序从经典切换到集成时,我在我的一个web服务器上遇到了这个问题。它在我的其他两个服务器上工作得很好,而不仅仅是这一个。它是Server 2012,所以你不能做aspnet_regiis,也没有安装缓存文件夹来尝试修复。在特征下,一切都被正确设置。

运行%windir%\system32\inetsrv\config\applicationHost。我发现了一个关键的缺失位。在我那张没有工作的表格下面,少了两行字:

        <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" />

一旦我添加了它们,一切都运行得很好。

事实证明,这是因为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)