Visual Studio 2012:WebDev.WebServer40.exe已停止工作

3

我正在处理一个非常大的MVC4项目。

使用Windows 7 64位操作系统,.NET Framework 4.5和Visual Studio 2012 Premium SP1。

我在公司环境中工作,每晚机器都会更新。4/22那天晚上,我把电脑留在了VS运行但没有执行任何代码的状态下。4/23早上,我继续昨晚的工作,但是机器响应时间似乎很慢,所以我重启了电脑。在重启后,当我尝试调试时出现了以下错误信息:

VS弹窗提示:WebDev.WebServer40.exe已停止工作。 网页:此页面无法显示。

Fiddler显示了以下消息

[Fiddler] 连接到'localhost'失败。 错误:ConnectionRefused (0x274d)。 System.Net.Sockets.SocketException 由于目标计算机积极拒绝,无法建立连接 [::1]:51043

Windows应用程序日志显示了以下错误

故障应用程序名称: WebDev.WebServer40.exe, 版本: 11.0.50727.1, 时间戳: 0x5011ca7e 故障模块名称: ole32.dll, 版本: 6.1.7601.17514, 时间戳: 0x4ce7b96f 异常代码: 0xc0000005 故障偏移量: 0x000408a7 故障进程 ID: 0x280 故障应用程序启动时间: 0x01cf60dbe460d837 故障应用程序路径: C:\Program Files (x86)\Common Files\Microsoft Shared\DevServer\11.0\WebDev.WebServer40.exe 故障模块路径: C:\Windows\syswow64\ole32.dll 报告 ID: 22f43805-cccf-11e3-866d-00270e269f58

注意:看起来是ole32.dll有问题。经过检查,我发现有几个版本存在已知错误,但是没有一个版本完全匹配6.1.7601.17514,所以我一直谨慎地考虑是否替换它。

通过与网络工程师合作,我确定问题出在VS中。使用Ctrl-F5可以运行应用程序,并且WebDev.WebServer40.exe会出现在进程列表中。使用F5时,WebDev.WebServer40.exe会短暂地出现在进程列表中,然后在错误出现时消失。从浏览器中调用该应用程序也可以正常运行,但是如果我使用F5进行调试,则WebDev.WebServer40.exe会从进程列表中消失。

我尝试过以下方法

  • 修复了.NET Framework 4.5.1
  • 清理了Visual Studio的临时文件
  • 运行其他应用程序以确定是否是应用程序的原因。我机器上的所有其他应用程序都以同样的方式失败
  • 删除浏览器cookie
  • 在Hosts文件中添加/删除localhost条目
  • 尝试修复VS2012,但会生成错误消息:(1)日志文件已满和(2)未安装某些功能

我的同事和我已经没有任何想法,我准备完全卸载VS2012并重新安装,这需要花费时间、精力和风险,除非其他人有更清晰的想法来解决问题。

提前感谢任何建议。

4个回答

2

我在我的MVC4应用程序中遇到了同样的错误信息:"webdev.webserver40.exe已停止工作"并抛出堆栈溢出异常。然后您需要检查代码,检查属性使用的拼写。更正拼写并进行检查。


2
感谢Anthony和AlaN提供的建议。对于这种模糊的错误,核对可能性非常重要。
Microsoft支持使用tttracing实用程序找到了问题。恶意软件应用程序创建了一个包含:aecbbldsrvrc.dll的文件夹。
... appdata \ local \ exction \ aecbbldsrvrc.dll
该dll被添加到用于调试的dll混合中。我不知道发生了什么事,但是针对aecbbldsrvrc.dll进行的Google搜索返回了很多评论。
另外,顺便说一下,自从我在网络适配器上禁用了IPV6和QOS以后,我注意到网络速度有所提高,谢谢Anthony!

1
  1. 运行SFC /Scannow命令
  2. 通过“工具”>“Internet选项”>“高级”>“重置”重置IE
  3. 删除临时ASP.net文件(参见:我可以安全地删除临时ASP.Net文件夹的内容吗?

最近我的环境出现了许多有趣的问题,即使是Win 8.1更新也没有解决。上述提示解决了我的问题。

更新:今天我还发现了这个:

使用Microsoft .NET Framework Repair Tool 1.2修复.NET 4.5/4.5.1问题 http://betanews.com/2014/04/29/fix-net-4-5-4-5-1-issues-with-microsoft-net-framework-repair-tool-1-2/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed+-+bn+-+Betanews+Full+Content+Feed+-+BN


还可以查看 http://connect.microsoft.com/VisualStudio/feedback/details/606216/webdev-webserver40-exe-spontaneously-closes-or-sometimes-crashes-when-attempting-to-debug-in-vs-2010 。他们提到了一个可能有效的解决方法。 - Anthony Horne
一个网络工程师告诉我我们公司没有使用IPV6,这让我感到很奇怪,因为Fiddler信息显示相反。你知道Richard Vivian描述如何禁用IPV6的链接吗?我应该在哪里禁用QOS?谢谢。 - Arnold Smith
只需按照以下步骤禁用 QOS 即可,尽管这不会解决您的实际问题:网络和共享中心 >> 更改适配器设置 >> 右键单击当前/已连接的适配器 >> 属性 >> 取消选中 QoS 数据包调度程序。保存,保存等。 - Anthony Horne
我在网络适配器上禁用了IPV6和QOS。我会寻找网络连接速度的变化。谢谢。 - Arnold Smith
如果你在任务管理器下复制并检查你的网络速度,你应该会看到一个巨大的差异。 - Anthony Horne
显示剩余5条评论

1

1
这篇帖子并没有提出一个答案,它的摘要应该在你的回答中——如果这算作一个答案的话。你能否请检查和编辑一下? - Lizz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接