26

我在 Vista Ultimate 32 SP1 上运行的 VS 2008 SP1 上有一个 .NET 3.5 Web 应用程序。我在默认网站下创建了一个应用程序。所以应用程序的 URL 是“ http://localhost/mysite ”。应用程序文件夹指向解决方案文件夹,它位于 iisroot 文件夹之外。在 IIS7 中为此 Web 应用程序“mysite”启用了匿名和集成身份验证 (Windows)。

我授予“网络服务”用户对应用程序文件夹(在 iisroot 之外)的完全权限。

当我按 F5 启动调试时,我得到“无法在 Web 服务器上开始调试。Web 服务器找不到请求的资源”。错误。


我启动了 TcpView (Sysinternals) 以查看实际运行的应用程序并在该端口上保持句柄,我发现没有应用程序在该端口上侦听。这真的很奇怪......有什么创意吗?


我可以毫无问题地点击 URL“ http://localhost/mysite ”。该 Web 应用程序设置为启动项目,Default.aspx 是启动页面。

项目中还有一个 .asmx 服务。Default.aspx 正在使用该 asmx 服务。AutoCompleteExtender(来自 AJAX Control Toolkit)正在使用这个 asmx 服务。

顺便说一句,一切正常。问题是调试...我怀疑是 asmx 服务造成的,但我不知道。这让我发疯...

4

23 回答 23

36

对于在Visual-Studio 2012 或 2013和/或Windows 8 或 10中遇到此问题的用户,请执行以下操作。

您必须将 .Net 3.5(或 4.5)添加到“打开或关闭 Windows 功能”窗口。你可以通过:

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

在此处输入图像描述

单击文件夹中的Asp.Net 3.5Asp.Net 4.5复选框。IIS > WWW Service > Application Development Features

于 2012-12-03T20:25:53.777 回答
16

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

于 2011-05-07T19:11:39.407 回答
8

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

于 2012-04-17T19:13:22.923 回答
7

我有同样的问题并解决了。您可以尝试以下操作:导航到 Web 应用程序的根文件夹并找到具有“.csproj.user”扩展名的文件并删除它。关闭 Visual Studio 的所有实例并重新开始。然后按F5。否则按 CTRL+ALT+P 并附加到 w3wc.exe 进程。希望能帮助到你。

于 2008-11-27T15:21:54.823 回答
6

刚刚设法在我的开发机器上解决了这个问题:我已经安装了 UrlScan,并且必须将 DEBUG 添加到 AllowVerbs 列表中。希望这可以给你其他的东西吗?

于 2008-11-27T11:07:02.763 回答
2

Installing Urlscan and changing the urlscan.ini with these changes solved the problem.

In ALLOWEXTENSIONS Section add .aspx and in ALLOWVERBS Section add DEBUG.

Don't forget to restart IIS.

于 2009-01-26T12:04:48.957 回答
2

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

多谢你们。

于 2009-03-17T14:22:14.967 回答
2

就我而言,我必须为 IIS 重新注册 ASP.NET。您可以通过从命令提示符运行以下命令来完成

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

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

于 2013-09-24T06:37:53.553 回答
2

就我而言,我必须修复 Web 服务扩展

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

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

干杯!

于 2009-10-23T16:25:42.283 回答
2

对我来说,IIS 中的默认网站已停止,启动后,我设法让它工作

于 2017-01-05T14:13:44.503 回答
1

我刚刚遇到了同样的问题,但没有任何建议有效。

我的问题是我的项目 URL 设置为http://localhost/service. 将其更改为我的 IP 地址有效。

于 2013-06-17T16:48:01.310 回答
1

这不应该是一个问题 - 你有什么作为你的启动页面?此外,在网络的“启动选项”中(在属性页面下),确保您选择了“启动 URL”并输入您上面提到的 URL。

您遇到的错误不应该是特定于权限的,所以我会在其他地方查看 - 还要检查您是否可以在调试之前成功点击 url(手动将 url 放入浏览器)“ http://localhost/mysite ”。

于 2008-11-13T21:40:46.360 回答
1

这个问题的解决方案非常简单。如果网站指向不同的位置并且虚拟目录指向不同的目录,您将收到此错误。

我建议您将网站指向与虚拟目录相同的目录,问题就足够了。

于 2012-08-22T05:47:40.247 回答
1

我正在使用带有 VS2005 和 IIS 7.5 的 Windows 7 32 位。我的 web.config 默认有 debug="true" 。我将 IIS 物理路径设置为指向开发文件夹,并按照上述提示进行操作。我没有使用 UrlScan。我以管理员身份运行 VS2005。我仍然无法让它工作。

它的工作原理是添加具有对开发网站根文件夹的完全访问权限的 IIS_IUSRS 帐户,并使用 CTRL+ALT+P(附加到进程)附加到 w3wp.exe。

于 2012-01-25T00:35:12.727 回答
1

对我来说,有人更新了请求过滤的 web.config,特别是他们只允许 GET 和 POST 动词。要使用本地 IIS,您也需要允许 DEBUG 动词。

<verbs allowUnlisted="false">
     <add verb="GET" allowed="true" />
     <add verb="POST" allowed="true" />
     <add verb="DEBUG" allowed="true"/>
</verbs>
于 2015-12-22T09:26:05.020 回答
1

我也在 IIS 上使用默认网站,但无法通过调试或简单浏览来启动它。

原来默认站点已停止!开始了,一切顺利。

于 2015-07-30T08:31:28.340 回答
0

你有没有尝试过:

  • UAT转向
  • 将运行网站的用户(和/或您自己)添加到 Debuggers 或 Administrators 组(临时)
  • 打开 IIS 日志记录
于 2008-11-16T08:35:51.327 回答
0

只是为了确保,您是否在 web.config 中设置了 Debug=true。通常,当您使用 VS 的内置 Web 服务器时,它能够检测到您正在尝试调试但调试标志已关闭并警告您。但是在您的情况下,您已经设置了 IIS,而 VS 可能无法进行此检查。

另一点是您在 Vista 上运行。在 vista 中即使你是系统的管理员,Vista 也不会将你视为管理员。您的安全令牌是作为普通用户创建的。为了调试 IIS 托管网站(注意:使用内置 Web 服务器时,VS 2008 管理调试),以管理员身份运行 VS 2008。那可以解决问题。

于 2008-11-16T08:51:35.693 回答
0

我遇到了同样的问题,但是如果我通过“工具”->“附加到进程”菜单然后选择 aspnet_wp 进程,则可以进行调试。

于 2008-11-27T10:52:27.987 回答
0

确保项目属性的 Web 选项卡中的项目 URL 不包含无效字符。就我而言,它有一个“+”字符,导致出现此错误。

于 2014-03-07T16:31:10.993 回答
0

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

于 2011-05-06T18:17:10.210 回答
0

我的 web.config 中的这一部分导致了错误:

<security>
    <requestFiltering>
        <hiddenSegments>
            <add segment="......" />
            <add segment="....." />
            ........
        </hiddenSegments>
    </requestFiltering>
</security>

仔细查看它 - 也许您的调试文件被限制在浏览器中直接查看。

于 2015-05-04T09:13:03.147 回答
0

我尝试了一切都无济于事,但是一旦我将 csproj.user 从那里弄出来,低且看哪,该站点已加载。不要担心删除它,一旦站点加载,它将创建一个新站点。

于 2016-02-10T07:40:29.387 回答