我在Vista Ultimate 32 SP1上运行的VS 2008 SP1上有一个.NET 3.5 Web应用程序。我在默认网站下创建了一个应用程序。所以该应用的网址是“http://localhost/mysite”。应用程序文件夹指向解决方案文件夹,它位于iisroot文件夹之外。 IIS7中为此Web应用程序“mysite”启用了匿名和集成身份验证(Windows)。
我将“网络服务”用户的完全权限授予了应用程序文件夹(位于iisroot之外)。
当我按F5进行星型调试时,我得到“无法在Web服务器上开始调试.Web服务器无法找到所请求的资源。”错误。
我启动了TcpView(Sysinternals)来查看实际运行的应用程序并保留该端口的句柄,我发现没有应用程序在该端口上侦听。这真的很奇怪......有什么创意吗?
我可以毫无问题地点击网址“http://localhost/mysite”。该Web应用程序设置为启动项目,Default.aspx是启动页面。
项目中也有.asmx服务。 Default.aspx正在使用该asmx服务。 AutoCompleteExtender(来自AJAX Control Toolkit)正在使用此asmx服务。
一切顺便。问题是调试...我怀疑asmx服务导致了这个但我不知道。这让我疯了......
答案 0 :(得分:36)
对于那些使用 Visual-Studio 2012或2013 和/或 Windows 8或10 进行此操作的人,请执行以下操作。
您必须将.Net 3.5(或4.5)添加到打开或关闭Windows功能窗口。你可以通过以下方式获得:
控制面板 - >程序 - >打开或关闭Windows功能
点击Asp.Net 3.5
文件夹中的Asp.Net 4.5
和IIS > WWW Service > Application Development Features
复选框。
答案 1 :(得分:16)
打开IIS7(运行> inetmgr)并转到功能视图。打开ISAPI和CGI限制部分,检查.Net版本是否有正确的限制(例如,如果您使用的是4.0,则应该是“允许”)
答案 2 :(得分:8)
另一个常见问题是网站或应用程序路径未启动。
答案 3 :(得分:7)
我有同样的问题并解决了它。您可以尝试以下操作:导航到Web应用程序的根文件夹,找到具有“.csproj.user”扩展名的文件并将其删除。关闭所有Visual Studio实例,然后重新开始。 然后点击F5。 否则按CTRL + ALT + P并附加到w3wc.exe进程。 希望它有所帮助。
答案 4 :(得分:6)
刚设法在我的开发机器上修复此问题:我已经安装了UrlScan并且必须将DEBUG添加到AllowVerbs列表中。希望这可能会给你一些其他的东西继续吗?
答案 5 :(得分:2)
对我来说,IIS中的默认网站已停止,启动后,我设法让它正常工作
答案 6 :(得分:2)
安装Urlscan并使用这些更改更改urlscan.ini解决了这个问题。
在ALLOWEXTENSIONS部分添加.aspx并在ALLOWVERBS部分添加DEBUG。
不要忘记重新启动IIS。
答案 7 :(得分:2)
我遇到了与XP sp3相同的问题,而且我已经挣扎了几天。将.aspx和DEBUB添加到urlscan.ini解决了这个问题。
谢谢你们。
答案 8 :(得分:2)
就我而言,我必须修复Web服务扩展
管理工具 - >管理我的服务器 - > IIS - > Web服务扩展
ASP.NET 2.0在某种程度上被禁止,修复了它并开始工作。
干杯!
答案 9 :(得分:2)
在我的情况下,我不得不为IIS重新注册ASP.NET。 您可以通过从命令提示符
运行以下命令来执行此操作systemroot\Microsoft.NET\Framework\ versionNumber \aspnet_regiis -i
例如: C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis -i
答案 10 :(得分:1)
我正在使用Windows 7 32位VS2005和IIS 7.5。默认情况下,我的web.config有debug =“true”。我设置IIS物理路径指向开发文件夹,并按照上面的提示。我没有使用UrlScan。我作为管理员运行VS2005。我仍然无法让它发挥作用。
它的工作原理是添加IIS_IUSRS帐户,可以完全访问开发网站根文件夹,并使用CTRL + ALT + P(附加到进程)附加到w3wp.exe。
答案 11 :(得分:1)
对我来说,有人更新了web.config for Request Filtering,特别是他们只允许GET和POST动词。要使用本地IIS,您还需要允许DEBUG动词。
<verbs allowUnlisted="false">
<add verb="GET" allowed="true" />
<add verb="POST" allowed="true" />
<add verb="DEBUG" allowed="true"/>
</verbs>
答案 12 :(得分:1)
我也在IIS上使用默认网站,但无法通过debuging或简单浏览来启动它。
原来,默认网站已停止!!开始了,一切都很好。
答案 13 :(得分:1)
我刚遇到同样的问题而且没有任何建议有效。
我的问题是我的项目网址设置为http://localhost/service
。将此更改为我的IP地址。
答案 14 :(得分:1)
这个问题的解决方案非常简单。如果网站指向其他位置,并且虚拟目录指向不同的目录,则会收到此错误。
我建议您将网站指向与虚拟目录相同的目录,问题就足够了。
答案 15 :(得分:1)
这应该不是问题 - 你有什么作为你的启动页面?此外,在网络的“开始选项”中(在属性页面下),请确保选中“起始网址”并将其放入上面提到的网址中。
您所遇到的错误不应该是特定于权限的,所以我会查看其他地方 - 还要检查您是否可以在调试之前成功点击网址(手动将网址放入浏览器中)“http://localhost/mysite”。
答案 16 :(得分:0)
转到Web项目的属性,然后转到“Web”选项卡,然后确保您使用的是Visual Studio开发服务器而不是本地IIS或自定义Web服务器。我在VS2010上使用Win7,另一个开发人员正在使用自定义Web服务器URL而不是VS Dev Server进行开发
答案 17 :(得分:0)
确保项目属性的Web选项卡中的Project Url不包含无效字符。在我的情况下,它有一个“+”字符,导致出现此错误。
答案 18 :(得分:0)
我的web.config中的这一部分导致错误:
<security>
<requestFiltering>
<hiddenSegments>
<add segment="......" />
<add segment="....." />
........
</hiddenSegments>
</requestFiltering>
</security>
小心地重复一遍 - 也许您的调试文件仅限于浏览器中的直接浏览。
答案 19 :(得分:0)
我遇到了同样的问题,但是如果我通过工具进行调试 - >附加到Process菜单,然后选择aspnet_wp进程。
答案 20 :(得分:0)
为了确保您在web.config中设置Debug = true。通常,当您使用VS的内置Web服务器时,它能够检测到您正在尝试调试,但调试标志已关闭并且它会警告您。但在您的情况下,您已设置IIS,VS可能无法执行此检查。
另一点是你在Vista上运行。即使您是系统管理员,在Vista中,Vista也不会将您视为管理员。您的安全令牌是从普通用户创建的。为了调试IIS托管网站(注意:使用内置Web服务器时,VS 2008管理调试),以管理员身份运行VS 2008。这可以解决这个问题。
答案 21 :(得分:0)
我尝试了一切都无济于事,但是一旦我把csproj.user从那里拿出来,低,看哪,网站加载了。不要担心删除它,一旦网站加载,它将创建一个新的。
答案 22 :(得分:0)
你试过了吗?