代码之家  ›  专栏  ›  技术社区  ›  y0mbo

Visual Studio“无法在Web服务器上启动调试。Web服务器没有及时响应。“

  •  49
  • y0mbo  · 技术社区  · 16 年前

    在Visual Studio中编译和运行Web应用程序时,我经常会遇到以下错误:

    “无法在Web服务器上启动调试。Web服务器没有及时响应。这可能是因为另一个调试器已附加到Web服务器上。”

    通常这是在已经调试了应用程序一次之后。从命令行运行“iisreset/restart”,它修复了问题。

    我该如何预防这种情况首先发生?

    29 回复  |  直到 7 年前
        1
  •  19
  •   Guy    16 年前

    我发现如果我使用Firefox作为浏览器进行调试,就会发生这种情况。当我退出Firefox时,VS2005/8调试会话不会终止。我还没有找到解决这个问题的办法。

    如果这就是发生在您身上的事情,那么比运行iisreset更快的解决方案是在Visual Studio中点击shift-f5,这将终止当前的调试会话。然后您可以点击F5,这将启动一个新的调试会话。

        2
  •  19
  •   Maxime    7 年前

    对我有用的解决方案:

    1. 打开命令提示(以管理员身份运行)

    2. iisreset /restart

    3. 现在,返回到vs并调试。它将调试您的解决方案。

    在我的例子中,它也适用于Visual Studio 2013和2015。

        3
  •  4
  •   Caio Campos    10 年前

    在这里和其他地方尝试了所有建议的解决方案(至少10种不同的方法)之后,我唯一的选择是:

    • 删除IIS上的网站和应用程序池
    • 在IIS上重新创建网站和应用程序池(在我的情况下,所有配置与以前完全相同)

    PS:我正在使用vs 2013和IIS 7.5(Win7)。

    我希望这能节省别人几个小时。

        4
  •  3
  •   Gabriël    16 年前

    我们使用另一种调试方式,不再使用F5。

    我们使用的宏类型如下: http://blogs.conchango.com/howardvanrooijen/archive/2007/06/24/Attach-to-Web-Server-Macro-for-Visual-Studio.aspx (我们绑定到F6)。

    通过这种方式,您只需将调试器附加到IIS。它(取决于项目大小)可以更快地进行更改,编译一个已更改的项目,并再次附加调试器。

        5
  •  3
  •   developer    13 年前

    解决方案:在运行应用程序之前,转到任务管理器并结束进程aspnet_wp.exe

        6
  •  3
  •   miniscem    9 年前

    我有过几次这个问题。有一次,它是通过接受盖伊的建议来解决的:

    如果这就是发生在您身上的事情,那么比运行iisreset更快的解决方案是在Visual Studio中点击shift-f5,这将终止当前的调试会话。然后您可以点击F5,这将启动一个新的调试会话。

    在另一个场合,我不得不:在Windows任务管理器(w3wp.exe*)中终止所有的IIS工作进程。您应该能够在Visual Studio中点击F5进行调试。

        7
  •  2
  •   palehorse    16 年前

    当您收到此错误时,您可能正在Visual Studio中按F5?

    你可以尝试一些东西。最简单的是击中 停止 按下按钮,然后按F5。或者,完成调试并开始进行更改后,可以转到 调试 菜单并选择 停止调试 终止所有 .

        8
  •  2
  •   patricgh    10 年前

    对我来说,我开了两个Visual Studio。调试器已附加到另一个Visual Studio:。我在第一个版本上停止了它,并在第二个Visual Studio上附加了它。

        9
  •  1
  •   Maen Ameerah    15 年前

    如果有很多断点,这将减慢调试过程,因此删除不需要的断点并关闭“自动”窗口,这将解决您的问题。

        10
  •  1
  •   Mandeep Janjua    12 年前

    我第一次看到这个信息是在我的生活中,我对正在发生的事情非常困惑,因为它不是很明显该做什么。

    我跑 IISHeSET 只花了1秒钟就完成了处决,然后砰的一声,我又回到了比赛中。

    另外,我用的是铬合金

        11
  •  1
  •   Murugan    11 年前

    在Visual Studio中单击shift+f5,这将终止当前的调试会话。然后您可以点击F5,这将启动一个新的调试会话。

    关闭应用程序,重置IIS,然后打开应用程序并运行它

        12
  •  1
  •   Edward    8 年前

    调试同时托管在本地IIS中的2个Web应用程序(1个MVC和2个MVC WebAPI)时。 确保每个应用程序使用不同的应用程序池。 我遇到了同样的问题,当我更改另一个应用程序池时,它就工作了!

        13
  •  0
  •   Brad Tutterow    16 年前

    听起来好像有什么东西正在占用您的Web服务器资源。也许您有一些正在打开而未关闭的资源(文件处理程序、WCF代理)?当我没有关闭WCF客户机代理连接时,这种情况就发生在我身上了。

    问题不一定是附加了调试程序,而是Web服务器没有及时响应。注意信息上写着“这个 可以 因为附加了另一个调试器”。

        14
  •  0
  •   Mohib Sheth    15 年前

    当另一个IExplore实例仍在运行时,问题通常就出现了。我以前在IE崩溃时有这个问题,但我仍然可以在任务管理器中看到它。一旦你“结束进程”,一切都恢复正常:)

        15
  •  0
  •   Skylar Hayes    14 年前

    只有通过IIS运行解决方案时,此答案才适用。如果您通过执行以下操作打开网站/项目,您将知道这是否适用于您: 从Visual Studio中-->打开网站-->本地IIS-->选择您的项目

    这个错误让我恼火了4个小时,但最终我找到了答案。我首先尝试了iisreset/restart。这似乎有点帮助,但仍然收到同样的错误。

    我的工作是(xp machine)添加/删除程序-->添加/删除Windows组件-->单击IIS-->单击“详细信息”。如果您正在通过IIS进行调试,请确保安装了首页扩展。

        16
  •  0
  •   aeciftci    13 年前

    如果所有答案都不适用于您,只需在任务管理器中结束处理所有与IIS相关的组件。这就是我的工作。

        17
  •  0
  •   atconway    12 年前

    我在尝试在vs.net和 二者都 正在使用IIS Web服务器启动应用程序。第一个应用程序将启动,但任何随后启动的应用程序也将通过IIS运行,然后将显示该错误。似乎它一次只能通过驻留在IIS中的vs.net调试单个应用程序。

    解决方案:从vs.net运行项目1(放置任何需要的断点),然后启动 第二 直接来自IIS的应用程序(不是vs.net)。访问应用程序2(直接从IIS运行)时,将命中应用程序1(在vs.net中运行)中的断点。

        18
  •  0
  •   TeckniX    11 年前

    在Vs2010 Express中,这种情况经常发生在我身上——通常是因为调试器停止响应。 右键单击Windows任务栏,选择“启动任务管理器”。ASP.NET调试器极有可能显示“未响应”状态。选择它并简单地终止进程。

    完成!

        19
  •  0
  •   Sergey Glukhov    11 年前

    对我来说,当IE升级到新版本、转到已安装的更新、删除新版本的IE时,在计算机重新启动后,它又回到旧版本,调试问题得到了解决。

        20
  •  0
  •   Graham Laight    9 年前

    非常基本-但是如果你试图通过点击“浏览”从IIS运行该网站,该网站实际上是运行的。

        21
  •  0
  •   John    9 年前

    有同样的问题,即使在重启之后。基本上是这样做的:

    1. 重新启动IIS
    2. 清洁溶液
    3. 重建解决方案

    然后它又开始工作了。

        22
  •  0
  •   Reg Edit    8 年前

    如果您的网站使用数据库连接,但数据库服务器不可用,也可能导致此问题。

    我花了一些时间试图用通常的方法解决这个问题,但即使在重新启动工作站之后,问题仍然存在。最后我发现SQL Server(MSSQLServer)服务没有运行。

    它应该已经在运行,因为它被设置为自动,但是它被停止了,即使在重新启动之后。事件日志中的所有mssqlserver事件看起来都正常,所以它没有运行的原因仍然未知,但我现在将其设置为自动(延迟启动),希望这样可以减少启动期间的资源争用。

    一旦我启动了mssqlserver,消息 "Unable to start debugging on the web server. The web server did not respond in a timely manner" 不再出现,恢复正常服务。

        23
  •  0
  •   Atif Ali Bhatti    8 年前

    在安装了VS2015 Update3之后,我不得不重新创建站点/应用程序/虚拟目录以使其正常工作。希望这能帮助别人。;)

        24
  •  0
  •   MarkoCen PaulT    8 年前

    我知道这是一个古老的问题,但最近我遇到了同样的情况,尝试了本帖中的每一个解决方案,但没有运气。最后,我找到了适合我的解决方案:

    1. 关闭Visual Studio
    2. 发现 打开或关闭Windows功能 在里面 控制面板
    3. 取消检查 互联网信息服务 在弹出对话框中
    4. 重新启动计算机
    5. 检查 互联网信息服务 在同一个对话框中,并确保 互联网信息服务 -gt; 万维网服务 -gt; 应用程序开发功能 -gt; ASP.NET 也已检查
    6. 打开Visual Studio,现在您的应用程序应该能够在调试模式下运行。
        25
  •  0
  •   Draken R. Shilling    8 年前

    正常开放

    • 调试下的选项和设置
    • 符号和未选中的Microsoft符号服务器
    • 构建解决方案
    • IISHeSET
    • F5溶液 (请确保再次取消选中Microsoft符号服务器)
        26
  •  0
  •   Community Egal    7 年前

    这是@mtkachenko为我设计的 Visual Studio 2012: Unable to attach the process. A debugger is already attached “我安装了调试诊断工具2.0版,因此我有调试诊断服务,该服务自动启动并连接到W3wp进程之一。关闭和禁用此服务后,一切正常。因此,如果您在任务管理器中得到这样的错误检查进程,它可以捕获您的w3wp进程。”

        27
  •  -1
  •   Ike    11 年前

    我刚在我的机器上解决了这个问题。 我的问题是我把IE9升级到了IE10,然后得到了这个错误。 解决方案:取下IE 10并降级至IE 9。 转到“程序和功能”-->“查看最新更新”-->查找IE 10--->卸载它-->重新启动--->IE 9返回--->调试--->工作正常。

        28
  •  -1
  •   Ramasamy    10 年前

    尝试执行以下任一步骤来解决问题:

    • 重新启动IIS服务器
    • 清除项目的解决方案,然后重新生成

    如果上述步骤不起作用,您最终可以尝试重新启动计算机。

        29
  •  -1
  •   DKR    8 年前

    在您的命令中,键入iis reset,然后按Enter键,您的iis将被重置,应用程序将正常工作。