网络服务器无法找到所请求的资源。

26
我有一个.NET 3.5 Web应用程序,在Vista Ultimate 32 SP1上的VS 2008 SP1中运行。我在默认网站下创建了一个应用程序。因此,应用程序的URL为"http://localhost/mysite"。应用程序文件夹指向解决方案文件夹,并且它位于iisroot文件夹外部。在IIS7中为此Web应用程序"mysite"启用匿名和集成身份验证(Windows)。
我已经将完全权限授予"Network Service"用户以访问应用程序文件夹(该文件夹位于iisroot之外)。
当我按F5开始调试时,出现"无法在Web服务器上启动调试。Web服务器找不到请求的资源。"错误。

我使用TcpView(Sysinternals)查看实际运行的应用程序并保持对该端口的控制,结果发现没有任何应用程序在监听该端口。这真的很奇怪...有什么创意点子吗?


我可以轻松访问URL“http://localhost/mysite”。该Web应用程序被设置为启动项目,Default.aspx是启动页面。
项目中还有一个.asmx服务。Default.aspx也在使用这个asmx服务。AutoCompleteExtender(来自AJAX Control Toolkit)正在使用此asmx服务。
顺便说一下,一切正常。问题是调试......我怀疑是asmx服务引起的,但我不确定。这让我感到很疯狂......

@Pradeep: 我正在以管理员身份运行Visual Studio。实际上,如果你不使用管理员用户运行VS,它将无法在IIS下运行Web应用程序。而且,web.config文件中debug=true。 - harropriiz
23个回答

36

如果您在使用 Visual-Studio 2012 或 2013 和/或 Windows 8 或 10 遇到此问题,请按照以下步骤操作。

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

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

输入图像描述

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


1
我的被禁用了!如果不是因为这个,我会搜索很长时间的,谢谢!+1 - Ashley Davies
对我有用。非常感谢。 - Hoang Minh

16
打开IIS7(运行>inetmgr),进入功能视图。打开ISAPI和CGI限制部分,检查您的.Net版本是否具有正确的限制(例如,如果您使用的是4.0,则应该设置为“允许”)。

在Visual Studio 13中,这对我有效。 关闭Visual Studio中的所有解决方案 打开IIS7(运行>inetmgr) 单击顶部节点(计算机名称) 打开“ISAPI和CGI限制”选项 检查您的.Net版本是否具有正确的限制(例如,如果您使用的是4.0,则应设置为“允许”) - Refael

8

另一个常见的问题是网站或应用程序路径未启动。


2
啊啊啊!+1 ... 为什么它就不能直接说呢!? - Nick Westgate

7
我曾遇到同样的问题并解决了它。你可以尝试以下步骤:进入你的Web应用程序的根文件夹,找到扩展名为“.csproj.user”的文件并将其删除。关闭所有Visual Studio实例,然后重新启动。接着按F5键。否则,按CTRL+ALT+P键并附加到w3wc.exe进程。希望这可以帮助你。

2
CTRL-ALT-P 在 Windows 2008 R2、VS2010 中非常好用。删除 .user 文件没有任何作用。 - missaghi
删除.csproj.user文件对我也起了作用(在我的情况下,不需要重新启动VS2013更新4)。只是为了澄清为什么这样做有效:我之前选择了IIS Express作为我的项目,然后切换到了IIS。.user文件具有特定于我先前选择的调试设置。 - Ioana Marcu

6

我刚刚在我的开发机上成功解决了这个问题:我安装了UrlScan并需要将DEBUG添加到AllowVerbs列表中。希望这能给你提供一些其他的线索?


2

对于我来说,IIS中的默认网站已经停止运行,启动后,我成功使其运作。


是的。确保IIS本身正在运行,适当的应用程序池也正在运行。 - dan-gph

2

安装Urlscan并更改urlscan.ini文件中的这些更改解决了问题。

在ALLOWEXTENSIONS部分添加.aspx,在ALLOWVERBS部分添加DEBUG。

不要忘记重新启动IIS。


2

在我的情况下,我需要重新为IIS注册ASP.NET。 您可以通过从命令提示符运行以下命令来执行此操作

systemroot\Microsoft.NET\Framework\ versionNumber \aspnet_regiis -i

例如: C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis -i

这是一个命令示例,用于安装 ASP.NET 4.0。该命令需要在命令提示符下运行,并且需要管理员权限。


2

我曾经遇到过XP sp3的同样问题,苦苦挣扎了好几天。在urlscan.ini中添加.aspx和DEBUB解决了这个问题。

谢谢大家。


2

在我的情况下,我需要修复Web服务扩展。

管理工具 -> 管理我的服务器 -> IIS - > Web服务扩展

ASP.NET 2.0 被某种方式禁止了,修复后它开始工作了。

干杯!


4
我又遇到了那个问题,尝试了一切但没有运气。最后回来查看我自己的答案才解决了它。感谢 Stack Overflow,你就像我的第二大脑。 :) - Vishal Seth
这正是我的问题。默认情况下,ASP 4.0 安装时将其设置为禁止状态。 - Craig Suchanec

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