visual studio 2012 debug for asp.net not working using IIS7

问题描述:

我不能使用IIS7为asp网络运行visual studio 2012 debug。visual studio 2012 debug for asp.net not working using IIS7

我已经尝试以下

ASP NET在IIS中设置

.NET编译:更改的默认语言为C#

IIS设置

ASP:

  • 更改脚本语言为C#(手动)
  • 启用客户端调试:真
  • 启用服务器端调试:真

脚本 - 语言:C#

而且我使用Asp Net v4.0应用程序池

是否有任何其他设置可以更改以尝试使其工作?

编辑:

我的用户是Debbuger用户

的一部分的错误是:

无法启动debbuging在Web服务器上。 Web服务器配置不正确。查看常见配置错误的帮助。

编辑2:

这是日志

Software: Microsoft Internet Information Services 7.5 
Version: 1.0 
Date: 2012-12-18 11:29:55 
Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status time-taken 
2012-12-18 11:29:55 ::1 DEBUG /tgpwebged/debugattach.aspx - 443 - ::1 - 403 7 5 43 

EDIT 3:

我已经手动配置web.config中的编译元素。这是实际配置:

<compilation batch="true" debug="true" defaultLanguage="C#" explicit="false" 
maxBatchGeneratedFileSize="10000" maxBatchSize="10000" 
numRecompilesBeforeAppRestart="100" strict="false" 
tempDirectory="C:\Windows\Temp" urlLinePragmas="false"> </compilation> 

此外,仅用于测试目的已更改用户ASP NET V4应用程序池运行到我的帐户下。不是系统..我的个人帐户。没有成功。

+0

实际问题是什么? – ChrisBint

+0

只需编辑我的帖子。 –

+0

尝试重建解决方案。有时候会发生在我身上,重建会修复它。 – hmqcnoesy

你可以将你的调试器附加到w3wp进程并进行调试吗?

这里是一个文章:Attatch debugger to an IIS process

+0

只需添加日志。可能会有帮助。我会尝试 –

+0

我无法附加。无法附加到进程。MSVSMON.EXE未能启动。 –

+1

您尝试附加在管理权限下? – Likurg

尝试运行在命令行中执行以下操作:

cd %windir%\Microsoft.NET\Framework\v4.0.30319 
aspnet_regiis.exe -i 
+1

我已经执行了该操作,Asp net 4已经安装 –

我以前曾经有过这个问题(虽然不是VS2012)和下面的事情已经工作:

  • 确保IIS配置为集成Windows身份验证。
  • 确保HTTP Keep Alives已启用。
  • 确保http://localhost在您的网站浏览器的信任的站点。
+0

它是一个https连接,但我会尝试这些选项 –

+0

以上所有步骤是它的方式应该是,但仍然不能去工作。 Google Chrome无法添加托管网站。尽管客户端提供了有效的客户端证书,并且系统在运行时使用debbug模式接受该证书。 –

通常,您必须运行Visual Studio作为本地管理员才能进行调试工作。

我在VS2010上运行一个类似的东西,在IIS7.5上托管一个站点。我试图打F5并让我的网站启动一个自动附加调试器。

我认为关键是这一行日志:

2012-12-18 11:29:55 ::1 DEBUG /tgpwebged/debugattach.aspx - 443 - ::1 - 403 7 5 43 

据我所知,debugattach.aspx是某种挂钩的是VS会尝试调用它实际上可以启动和运行前你的应用。细节在interwebs上有点粗略,关于这个东西实际上是什么,但是看起来如果你没有获得200(成功)VS将无法自动附加。基本上,它在第1步失败。在你的日志中,你有这个请求403(授权错误),我的日志中有404(未找到)。

在你的具体情况,你可能有一些东西在你的IIS配置中阻塞DEBUG谓词。阻止罕见动词或除POST和GET以外的任何其他安全措施是常见的安全措施。在我的情况下,它可能类似 - aspx扩展可能被滤除。它也可能是有问题的应用程序的默认身份验证设置。

更新:我确实解决了这个问题,并且两个单独的东西都是错误的。首先,我使用UrlScan.dll来确保安全性,并且它阻止了DEBUG谓词。另外,我使用UrlRewrite规则从HTTP到HTTPS,并且生成的302重定向也阻止了此VS请求。我能够使用IIS失败的请求跟踪功能找到这两个问题。来自该工具的日志可以帮助您深入了解管道中各种模块和处理程序正在执行的操作。

希望这有助于!

我刚刚有同样的情况。我已经解决了它,以下是我如何做到的:

  • 检查它是否是IIS上正确的.NET Framework版本。
  • 检查您的应用程序池的管道模式,对于某些应用程序 - 它只允许Classic mode
  • 检查您要调试的应用程序下是否有其他应用程序。
+0

使用列表标记使帖子更具可读性。 – meilke