无法在Web服务器上启动debugging。 无法启动ASP.NETdebuggingVS 2010,II7,Win 7 x64
我在Windows 7 x64上运行Visual Studio 2010(作为pipe理员),IIS 7。 我能够在IIS 7中运行ASP.NET网站而无需进行debugging,但是当按F5进行debugging时,我会得到:
无法在Web服务器上启动debugging。 无法启动ASP.NETdebugging。 更多的信息可以通过启动项目而不用debugging来获得。
不幸的是,帮助链接并没有帮到我很多,并导致了一大堆事情。
我检查了以下内容:
-
安全要求 – 我不记得以前有什么特别的事情要做。 IIS7中的工作进程是w3wp.exe。 它说,如果它运行ASPNET或networking服务我必须有pipe理员权限来debugging它。 我怎么知道我是否需要在这里改变一些东西?
-
网站属性页面>开始选项>debugging器> ASP.NET被选中。 使用自定义服务器被设置为网站的URL(没有debugging工作正常)。
-
在
web.config
启用debugging。 -
应用程序正在使用ASP.NET 3.5(我想最终移动到4.0,但我有一些迁移处理)。
-
应用程序池:分类.NET AppPool(也尝试DefaultAppPool)。
任何想法,我可以检查下?
当然不应该那么难安装IIS,VS,创build一个网站,并开始testing它?
提前致谢。
尝试去IIS和检查,以确保您正在使用的应用程序池已启动。 很多时候,你会产生一个closures应用程序池的错误。 你只需要点击右键,开始,你应该很好去。
原来,罪魁祸首是IIS url重写模块。 我已经定义了一个规则,redirect调用Default.aspx (它被设置为网站的起始页面)的网站的根,以便我可以有一个规范的主页的URL。 然而,显然VS有这个问题,并感到困惑。 当我使用Helicon ISAPI_Rewrite时,这个问题没有发生,所以我甚至没有去检查。
我最终创build了一个全新的Web站点,并将项目/文件逐渐移植到我的解决scheme中,并重build我的web.config,直到我find了解决办法! 那么,至less现在我有一个稍微干净的网站使用.NET 4.0(到目前为止,希望我不会碰壁) – 但多么痛苦!
Visual Studio在启动时会(出于某种原因)尝试访问URL:
/debugattach.aspx
如果你有一个redirect(或捕捉)的重写规则,例如, .aspx
文件,在其他地方,你会得到这个错误。 解决方法是将此部分添加到web.config
的<system.webServer>/<rewrite>/<rules>
部分的开头:
<rule name="Ignore Default.aspx" enabled="true" stopProcessing="true"> <match url="^debugattach\.aspx" /> <conditions logicalGrouping="MatchAll" trackAllCaptures="false" /> <action type="None" /> </rule>
这将确保捕获这个特定的请求,什么都不做,最重要的是,停止执行,以便其他任何规则都不会运行。 这是一个强大的解决scheme,请随时将其保存在您的configuration文件中进行生产。
为了他人的利益,在我的情况下,我已经configuration应用程序池使用我的Windows凭据,以访问networking资源共享。 由于最后debugging解决scheme,我已经重置我的Windows密码。 更改了存储在应用程序池和bada中的密码。
如果ApplicationPool Identity设置了自定义帐户和计算机的密码已更改,则必须更新密码
对于我的场景,它是对web.config中httpErrors部分的更改,如下所示:
<httpErrors mode="Custom">
导致“无法启动Web服务器上的debugging”问题。 将其重新设置为“DetailedLocalOnly”的前一个值可解决问题。 深入挖掘我发现实际上只是401错误设置导致了这一点:
<httpErrors mode="Custom"> <error statusCode="401" prefixLanguageFilePath="" path="/masterpages/500.html" responseMode="ExecuteURL" /> <httpErrors mode="Custom">
注释掉401错误行也解决了这个问题,因为我可以维护自定义的error handling并开始debugging。
我仍然不知道为什么会发生这种情况。
Plase检查应用程序池。 如果它被停住了。 重新启动它。
有相同的问题,试图debugging一个DNN(点网Nuke)模块。 原来你需要编译debug =“true”:
<compilation debug="true" strict="false" targetFramework="4.0">
在你的web.config。 默认情况下,它在DNN中是错误的。 原始来源: http : //www.dnnsoftware.com/forums/forumid/111/postid/189880/scope/posts
执行重写模块后,我有完全相同的问题。
如果我从我的web.config文件中删除重写条目,debugging工作完美。
为了解决这个问题,我只是在debugging时注释掉重写标签,像这样…
<rewrite> <rules> <rule name="LowerCaseRule_1" stopProcessing="true"> <match url="[AZ]" ignoreCase="false" /> <action type="Redirect" url="{ToLower:{URL}}" /> </rule> <rule name="RedirectDefault.aspx_1" stopProcessing="true"> <match url="(.*)default.aspx" /> <action type="Redirect" url="{R:1}" redirectType="Permanent" /> </rule> </rules> </rewrite>
然后我debugging后删除评论。
必须是Visual Studio 2010中的一个错误。
自从应用程序池在IIS中停止后,我得到了同样的错误。 启动应用程序池后,问题就解决了。
这是我所做的清除你记下的错误。 在文件系统中find应用程序的web文件夹,进入Properties => Security点击Advancedbutton,然后点击Owner标签,点击Editbutton,然后更改文件夹的所有者(具有正确的权限),并选中“ Repalce所有者在子容器和对象 “checkbox。 点击“ 应用 ”,然后我在业务(能够debugging)。
希望这适用于其他人。
只是最后解决了这个问题,我的单一解决scheme是有这个。 解决scheme中的两个项目被设置为IIS中的网站。 我进入并启用ASP.Net模拟下的身份validation两个项目…和VIOLA! 最后,没有更多的这个恼人的错误!
我在VS 2012中得到了相同的错误信息,但没有以pipe理员身份运行。 当我以pipe理员身份运行该应用程序时,我得到了一个不同的,稍微有用的消息(我能够弄清楚)。 HTH
如果应用程序池无法重新启动或只是不想重新启动,请validationWindows是否在ASP.NET v4.0或其他应用程序池上进行了最新更新。 这就是我的情况。 我只是重新启动我的电脑,然后重新启动ASP.NET v4.0应用程序池,一切都再次工作!
担,
除了亚伦的build议,请尝试以下
- 检查您的IIS网站中是否select了集成的Windows身份validation
- 你可以debugging使用卡西尼,而不是IIS?
打开所有的IIS窗口function时,有与Windows 10相同的问题。 切换到Windows 8.1,并再次出现问题。 根在网站名称“ http://MySite.local ”(不涉及到操作系统版本)。
解决scheme很简单
-
编辑主机文件在
%SystemRoot%\System32\drivers\etc\
-
用ip绑定添加行:
127.0.0.1 MySite.local
我今天有这个错误,由于代码中的错误发布了大量的时间,导致IIS充斥着请求。 这基本上locking了IIS,所以当我试图debugging时,试图启动debugging器“超时”。 我只是重新启动IIS,这花了几分钟,它解决了这个问题。
我确实希望这个错误不是通用的,似乎有几种不同的方式来产生它。
我在Windows 8.1上的Visual Studio 2012和2013中遇到了同样的问题。 对我来说,修复是使用“打开或closuresWindowsfunction”将Windows身份validation添加到IIS,
确保您的网站的应用程序池使用正确的框架版本 。 我在ASP.Net 2005网站上遇到“无法启动debugging”错误。 这是错误地使用Windows 7上的DefaultAppPool(我相信是使用.Net Framework 4)。 我创build了一个新的基于.Net Framework 2的应用程序池,并将其分配给问题网站。 之后,debugging工作正常。
检查你的网站在IIS上是否停止。
我修好了把我的网站运行。 :d
我有这个问题,并最终意识到,我的ASP.net没有正确注册与IIS。 在Visual Studio之前安装IIS服务器时,可能会发生这种情况。 要解决这个问题,请使用命令aspnet_regiis -i更多信息可以在链接中find
有同样的问题。 如果您在IIS上安装了SSL证书,并且您正尝试从Visual Studio进行debugging,则需要在IIS上将应用程序设置为忽略证书。
我有同样的问题,并发现这是因为我有一个字符错误地键入我的Web.config
结束标记后。 我的Web.config
在最后看起来像这样: </section>h
结束标记后的“h”是一个额外的字符。
在web.config中删除sting,如下所示:targetFramework =“4.0”或将AppPool更改为适当的框架版本。
卸载IIS UrlScan扩展为我解决了这个问题。
我面临同样的问题,但它是在Visual Studio自己的Web开发服务器,而不是IIS。解决方法是取消选中项目属性下的Web选项卡,将服务器设置应用于所有用户(存储在项目文件中)。这将节省一些宝贵的时间。
我有同样的问题。 以上所有答案都不适用于我。 解决scheme是手动删除bin和obj文件夹。
我也发现了这个问题,但它与@Kirk解释和URL重写最相似。
在我的情况下,有人已经检查了这个改变到一个MVC项目的web.config文件:
<system.webServer> <security> <requestFiltering> <fileExtensions> <add fileExtension=".aspx" allowed="false" /> </fileExtensions> </requestFiltering> </security> </system.webServer>
由于Web服务器上不允许.aspx文件扩展名,因此/debugattach.aspx
URL被拒绝,从而阻止debugging器运行。 一旦我删除这个configuration它再次工作。
当我在Visual Studio中创build应用程序时,遇到了同样的问题,然后在属性中创build了与本地IIS一起使用的虚拟目录。 如果有人有这个错误,这是因为VS创build了错误的AppPool下的应用程序,即在AppPool不适合您的需求。
如果是这种情况,请转到IISpipe理器,select应用程序,转到基本设置,并更改应用程序的AppPool,你很好去。
我最近得到了这个相同的错误,在我的情况下,事实certificate,有重复的MIMEtypes。 我最近添加了两个,最初没有出现在列表中。 IIS让我添加它们,只有当我决定再次检查网站的MIMEtypes,作为我的诊断过程的一部分,我也得到了错误的IIS。 它引用了web.config中的重复项。 一旦我回到web.config文件,我注意到一个新的部分被称为已被添加,其中包括两个最近添加的MIMEtypes。 删除那部分,生活又好了! 希望这可以帮助其他人没有设法解决与任何其他build议的问题。