无法在Web服务器上启动调试。Web服务器找不到所请求的资源。

10

我尝试调试我的ASP.NET MVC应用程序时遇到了这个错误。我已将应用程序设置为“使用本地IIS Web服务器”,并选择了ASP.NET作为调试器。在不进行调试的情况下运行站点完全没有问题,但是当我尝试进行调试时,我收到了这个错误:

Unable to start debugging on the web server. The web server could not find the requested source.

我正在使用Visual Web Developer 2008 Express Edition。

有人知道如何修复这个错误吗?谢谢。


1
如果IIS网站没有运行,当尝试运行/调试应用程序时,我也曾经遇到过这个错误。 - Andy
10个回答

17

对于遇到此问题的Visual Studio 2012和/或Windows 8用户,请按照以下步骤进行操作。

您需要将.NET 3.5(或4.5)添加到您的打开或关闭Windows功能窗口中。您可以通过以下方式访问:

控制面板->程序->打开或关闭Windows功能

输入图像描述

IIS > WWW服务 > 应用程序开发功能文件夹中选中Asp.Net 3.5Asp.Net 4.5复选框。


6

前往您的 Web 项目属性,然后进入“Web”选项卡,确保您正在使用 Visual Studio 开发服务器而不是本地 IIS 或自定义 Web 服务器。我在 VS2010 上使用 Win7,另一位开发人员正在使用自定义 Web 服务器 URL 而不是 VS Dev Server。


我现在处于这样一种情况,无法使用VS Dev Server,因为我需要一个自定义的ISAPI重写程序。我可以将设置保留在IIS上而不是VS Dev服务器上,但是这时我会遇到OP提到的错误。如果我切换到VS Dev服务器,我可以进行调试,但由于ISAPI重写程序没有被包含进去,我无法正确找到我的页面。那么我该如何在IIS上进行调试呢? - Flater
2
这个解决方案对我也有效,但是我已经在本地 IIS 下开发并进行调试了数月。最近安装了 VS 2012 SP1 后就出现了这个问题,不确定是否有相关性。 - Sean B
我和使用同样的Visual Web Developer 2008 Express Edition遇到了相同的问题,但是我没有任何“Web”选项卡?我也在调试-命令下找不到它。有没有办法设置它显示出来? - James Drinkard

4

看起来你正在尝试在IIS上开发,而不是使用iis express或开发服务器。如果你使用的是asp.net mvc 4,请确保应用程序池是版本4。如果不是,请确保你的应用程序池与你的asp.net mvc版本匹配。


3

我曾经遇到过同样的问题,我是这样修复的:

进入IIS管理器 -> 进入网站 -> 错误页面 -> 操作:编辑功能设置.. -> 确保您已勾选“本地请求的详细错误和远程请求的自定义错误页面”。


这个技巧真的帮我省了很多时间。我的一个同事遇到了这个问题一年之久,直到我向他展示了这个解决方案。谢谢Gazza。顺便问一下,你是怎么想出来的? - Vincent

2

如果您正在使用IIS6,并采用了在IIS中添加映射以使MVC工作的“.*”技巧,在将“.*”处理程序添加到iisapi.dll时,您忘记取消选中“检查文件是否存在”的复选框。enter image description here


1
此外,请确保您在Visual Studio中配置的URL与IIS中的主机标头(编辑绑定)匹配。今天早上,这个问题让我卡了一个小时,直到意识到我的非常愚蠢的错误。

0
我所做的就是在网页选项卡中输入IP地址,而不是“localhost”。

0

这个错误的根本原因通常是Windows服务W3SVC没有启动。请检查Windows服务控制台(services.msc)中是否已经启动了该服务。在IIS中,您会发现“启动”图标现在是灰色的。这意味着W3SVC服务正在运行。


0

maxRequestLengthmaxAllowedContentLength设置为非常大或非常小的值也会触发此错误。


0
今天我遇到了这个问题。结果发现在iis中默认网站已经停止了。我一直在处理一个没有使用它的第二个网站。这是一个简单的修复,但花了我一段时间才看到它!

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