为什么我不能再调试我的asp.net web项目了?

时间:2011-02-09 13:45:42

标签: asp.net visual-studio-2010 iis-7

我的ASP.NET Web项目中发生了一些变化......我曾经能够进行调试。现在我的断点被忽略了。我检查了我的web.config,它说:

<compilation defaultLanguage="c#" debug="true" targetFramework="4.0">

所以这一切似乎都井然有序。还有什么可能搞乱我的调试环境?

编辑:我还应该提一下,当我运行控制台应用时,断点工作正常。只有当我运行网络应用程序时,断点才会发生。

这只在我使用IIS进行调试时才会发生。如果我使用VS Dev Server,我的断点可以工作!

5 个答案:

答案 0 :(得分:3)

如果您最近将解决方案/项目升级到.Net 4.0,则选择调试时的代码类型可能仍为“托管(v2.0,v1.1,v1.0)”而非“托管”(v4) .0)'意味着你的断点不会被击中。

在选择流程之前,在visual studio中选择“调试&gt;附加到流程”,例如“w3wp.exe”,单击“附加到”部分的“选择”按钮,然后选择“托管(v4.0)”选项。

希望这有帮助。

enter image description here

答案 1 :(得分:2)

试试这个:

  • 清理并重新编译您的解决方案。

  • 请务必关闭ASP.NET开发服务器,或重置IIS(iisreset / restart)。

  • 确保所有项目都处于“调试”模式。

  • 确保所有项目都针对相同的.NET Framework版本。

答案 2 :(得分:1)

答案 3 :(得分:0)

在Visual Studio中,Debug / Release的下拉列表可能设置为Release,在这种情况下,您可能会遇到调试问题。它和web.config设置都应该处于调试模式。

答案 4 :(得分:0)

即使完成了以上所有操作,我也只遗漏了另一个愚蠢的小东西。我知道这显示在上面,但不是Dot Net Nuke web.config所在的格式。为什么这个web.config与上面不同,我不知道。我不得不在IIS和Select Process对话框中设置.net版本,而不是在web.config中。

<!-- set debugmode to false for running application -->
    <***compilation debug="true"*** strict="false">
      <buildProviders>
        <remove extension=".resx" />
        <remove extension=".resources" />
      </buildProviders>
      <assemblies>

我注意到上面没有一个答案包括检查这个。 :)花了我很长时间,知道它必须是愚蠢的我忘记了,想出这个。

哦,好吧......只做SQL编程一年,然后重新回到ASP.Net,确实面临挑战......或者我应该以此为借口,他是。