无法在Web服务器上启动调试。无法启动ASP.NET调试VS 2010,II7,Win 7 x64。

92
我正在运行Visual Studio 2010 (作为管理员),在Windows 7 x64上运行IIS 7。 我可以在IIS 7上正常运行ASP.NET网站,但是当我按F5调试时,会出现以下问题:
“无法在Web服务器上启动调试。无法启动ASP.NET调试。启动项目时可能提供更多信息而不进行调试。”
不幸的是,帮助链接并没有帮我太多忙,并且导致了一堆东西。
我检查了以下内容: 1. 安全要求 - 我不记得以前必须做任何特殊事情。在IIS7中,工作进程是w3wp.exe。它说如果它正在作为ASPNET或NETWORK SERVICE运行,则必须具有管理员特权才能对其进行调试。我如何找出是否需要在这里更改某些内容? 2. 网站属性页面>启动选项>调试器>已检查ASP.NET。使用自定义服务器设置为站点的URL(在没有调试的情况下很好用)。 3. 在web.config中启用调试。 4. 应用程序正在使用ASP.NET 3.5(我想最终转移到4.0,但我有一些迁移要处理)。 5. 应用程序池:Classing .NET AppPool(也尝试过DefaultAppPool)。
还有哪些地方我可以检查呢? 毕竟安装IIS、VS、创建网站以及开始测试不应该那么难吧?
谢谢您的协助。

1
你清楚吗?当你启动Visual Studio时,你右键点击它并选择“以管理员身份运行”选项了吗? - Aaron Carlson
你看过这个链接了吗?http://msdn.microsoft.com/en-us/library/dwesw3ee.aspx - Aaron Carlson
@Aaron,是的,我实际上已经将VS设置为始终以管理员身份运行。 - Dan C
@Aaron,我在发布这篇文章之前已经仔细阅读了该页面及其子页面,但没有发现需要做的事情。我的系统符合要求,并且网站的调试已经打开。我没有Windows Server 2003,因此没有在那里配置IIS。自从我不知道是否需要,所以没有触及任何安全设置。 - Dan C
不确定这是否有帮助,但我尝试在VS 2010中创建了一个新的ASP.NET 3.5 Web站点,并将其添加到IIS 7中,没有进行任何特殊配置,可以很好地进行调试。我的主应用程序与它在VS、IIS或甚至文件系统中的配置有关。只是不确定从哪里开始查找。 - Dan C
我知道你说你看了整篇文章,但是你尝试使用过“附加到进程”方法吗? - Aaron Carlson
31个回答

1
请确保您的网站应用程序池使用正确的框架版本。我在一个ASP.Net 2005网站上遇到了“无法启动调试”的错误。它错误地使用了Windows 7上的DefaultAppPool(我认为它使用的是.Net Framework 4)。我创建了一个基于.Net Framework 2的新的应用程序池,并将其分配给有问题的网站。之后调试工作正常。

1
今天我遇到了一个错误,原因是由于一段代码的缺陷不断地进行提交,导致IIS被请求淹没。这实际上锁定了IIS,所以当我尝试调试时,它在“启动调试器”时超时了。我只需重新启动IIS,这需要几分钟时间,就解决了问题。
我真希望这个错误可以更具体一些,看起来有几种不同的方法可以产生它。

1

检查一下您在IIS上的网站是否没有停止。

我将我的网站设置为运行,已经修复了这个问题。 :D


0

我也遇到了这个问题,但与@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,从而阻止了调试器的运行。一旦我删除了这个配置,它就可以正常工作了。


0
当我在Visual Studio中创建应用程序,然后在属性中为本地IIS创建虚拟目录时,我遇到了同样的问题。如果有人遇到这个错误,那是因为VS在错误的AppPool下创建了应用程序,即在不适合您的需求的AppPool下。
如果是这种情况,请转到IIS管理器,选择应用程序,进入基本设置并更改应用程序的AppPool,然后您就可以继续进行了。

0
我也遇到了同样的问题。 上面所有的答案对我都无效。 解决方法是手动删除 bin 和 obj 文件夹。

0

卸载IIS UrlScan扩展程序解决了我的问题。


0

我曾经遇到过同样的问题,但是它发生在Visual Studio自己的Web开发服务器上,而不是IIS上。解决方法是在项目属性的Web选项卡中取消勾选“将服务器设置应用于所有用户(存储在项目文件中)”选项。希望能为某些人节省宝贵的时间。


0

我最近也遇到了同样的错误,我的情况是由于 MIME 类型重复导致的。我最近添加了两个 MIME 类型,但最初并没有显示在列表中。IIS 允许我添加它们,只有当我决定再次检查站点的 MIME 类型作为诊断过程的一部分时,我才在 IIS 中收到了一个错误。它引用了 web.config 中的重复项。一旦我回到 web.config 文件中,我注意到一个新的部分被添加了,其中包括了最近添加的两个 MIME 类型。删除该部分后问题得到解决!希望这可以帮助那些还没有通过其他建议解决问题的人。


0

在web.config中删除类似于targetFramework="4.0"的字符串,或者将AppPool更改为适当的框架版本。


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