无法启动IIS Express Web服务器

问题描述 投票:22回答:13

尝试调试配置为在Visual Studio 2010中使用IIS Express 7.5的Web应用程序时,我收到以下错误“无法启动IIS Express Web服务器”

当使用/ trace:error开关从命令行运行时,我得到以下内容

C:\ Program Files(x86)\ IIS Express> iisexpress.exe / trace:错误 启动IIS Express ... 初始化W3服务器已启动CTC = 1857831 W3服务器初始化WinSock。 CTC = 1857847 W3服务器WinSock初始化。 CTC = 1857847 W3服务器ThreadPool已初始化(ipm已发出信号)。 CTC = 1857847 无法调用RegisterModule for dll = C:\ Program Files(x86)\ IIS Express \ loghttp.dll,mod = HttpLoggingModule 使用hr = 800706ba处理失败 加载全局模块时出错。 hr = 800706ba 终止W3_SERVER对象 启动listenerChannel http:0 初始化W3服务器已启动CTC = 1858845 W3服务器初始化WinSock。 CTC = 1858861 W3服务器WinSock初始化。 CTC = 1858861 W3服务器ThreadPool已初始化(ipm已发出信号)。 CTC = 1858861 无法调用RegisterModule for dll = C:\ Program Files(x86)\ IIS Express \ loghttp.dll,mod = HttpLoggingModule 使用hr = 800706ba处理失败 加载全局模块时出错。 hr = 800706ba 终止W3_SERVER对象 发出InitComplete事件信号 报告ListenerChannel因失败而停止; ProtocolId:http,ListenerChannelId:0 进程模型关闭调用 等待所有LISTENER_CHANNELS停止 无法启动'HostedWASStart'。错误= 34022648 HostableWebCore激活失败。 无法启动iisexpress。

笔记 -

我尝试过多次卸载和重新安装IIS Express 7.5并获得相同的结果。

我正在运行Windows 7 64位计算机

IIS Express几个月来一直没有问题。该问题仅在今天早上重新启动计算机后才开始。

iis-express
13个回答
14
投票

一些可能有用的建议:

你是如何重新安装iis-express的?如果您还没有这样做,可以尝试重新安装包含iis-express的Visual Studio 2010 SP1

尝试使用process monitor观看iis-express进程,以查看尝试启动时是否存在任何权限问题。

作为最后的手段,您可以通过修改位于applicationhost.config目录中的%userprofile%\documents\IISexpress\config来禁用日志记录模块。为此,您需要在文件中注释掉几行。

<system.webServer>/<globalModules>元素下,注释掉该行

<add name="HttpLoggingModule" image="%IIS_BIN%\loghttp.dll" />

<location>/<system.webServer>/<modules>元素下,注释掉该行

<add name="HttpLoggingModule" lockItem="true" /> 

保存更改后,请尝试重新启动iis express。


1
投票

0
投票

我有相同的错误,但对于一个用于安装的帐户。我在w7 x64中安装了带有IIS 8 Express的Visual Studio 2010 SP1。我无法更改我的Web项目以在没有VS冻结的情况下使用IIS Express。我卸载了IIS 8 Express并安装了我知道在另一台机器上运行的IIS 7.5 Express。但是,我仍然遇到同样的问题。经过一段时间的尝试后,我发现卸载时没有删除My Documents中的IISExpress文件夹。我不得不卸载,手动删除文件夹,然后重新安装。首次启动时,重新创建了IISExpress fodler,现在可以按预期工作。 HTH


0
投票

我的问题有点不同,但我发布在这里以防其他人发现这个有用。我试图在端口80上使用iisexpress作为我的本地网络服务器,但是从Win 7升级到Win 8之后,它给了我类似的错误。最终帮助的是通过管理工具下的服务控制面板应用程序停止名为“万维网发布服务”(W3SVC)的服务,并将其更改为手动启动。它打开了端口80,这就是问题所在。


0
投票

由于某种原因,以前的端口不再可用 - 也许是一个流氓过程。无论如何,我提高了端口号,它又开始工作了。


16
投票

我昨晚做了一次Windows更新后得到了同样的东西。所以我修复我的做法重命名为自动创建的文件夹“IISExpress”,它在我的系统中位于My Documents文件夹中。然后我重新启动VS,它为我重新创建了IISExpress文件夹 - 恢复工作状态。然后再次启动VS,问题应该解决。至少它在我的系统上工作。


5
投票

我面临着同样的问题,为了解决这个问题,这就是我所做的

  1. 关闭Visual Studio 2013
  2. 在管理模式下打开 - 它工作了!

3
投票

关闭Visual Studio。删除应用程序的applicationhost.config文件 - 在VS中重新打开项目时将重建该文件。


2
投票

在我的情况下,我不得不关闭Windows防火墙。似乎防火墙阻止本地Web服务器正常运行。即使我尝试手动允许WebDev.WebServer40.exe通过防火墙运行,我仍然会收到此错误。

更新允许通过防火墙C:\ Program Files \ IIS Express \ iisexpress.exe和iisexpresstray.exe,您可以打开防火墙。


2
投票

我尝试了所有这些答案,但都没有奏效。

在我的情况下,我发现CustomUserHome值是在HKEY_CURRENT_USER\Software\Microsoft\IISExpress注册表项中设置的,显然IISExpress无法访问该值。我删除了该值,我可以从Visual Studio再次启动。


2
投票

较新版本的VS比原始问题,但删除我的<projectname>.csproj.user文件(其中包含本地,项目特定的IIS Express设置),然后重新启动VS立即修复它。


1
投票

当我尝试运行在UNC路径上创建的MVC项目时,我无法启动IIS Express Web服务器。当我将项目移动到本地磁盘时,它开始正常工作。


1
投票

我有同样的问题,但由于不同的原因。我会在这里发布我的解决方案,这样可以帮助别人。

在管理员模式下打开命令提示符。 TYPE:netsh http show iplisten如果有任何条目:TYPE:netsh http delete iplisten重复直到删除所有条目并尝试再次运行IIS Express。

希望这可以帮助!尼尔斯

© www.soinside.com 2019 - 2024. All rights reserved.