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


当前回答

我遇到了这个问题,发现删除以下文件夹有所帮助,即使是非express版本。表达:

C:\Users\ <用户> \ \ IISExpress文档

其他回答

当我试图将一个应用程序从经典切换到集成时,我在我的一个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" />

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

我还会检查第一个显而易见的问题:应用程序池是否设置为正确的框架,并且您的IIS应用程序实际上指向您放置文件的文件夹

我遇到了这个问题,发现删除以下文件夹有所帮助,即使是非express版本。表达:

C:\Users\ <用户> \ \ IISExpress文档

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

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

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