Asp.net mvc Visual Studio 2013未命中断点

Asp.net mvc Visual Studio 2013未命中断点,asp.net-mvc,debugging,visual-studio-2013,Asp.net Mvc,Debugging,Visual Studio 2013,我正在使用Visual Studio 2013中的ASP.NET解决方案,该解决方案无法命中断点。VisualStudio将成功命中其他解决方案上的断点,并且此解决方案中的断点以前是有效的。但在这个时候,他们无法工作 我正在使用Visual Studio 2013终极版,更新4。它安装在64位Windows 8.1上 这是一个MVC解决方案,包含3个项目:BusinessEntities、DataAccessLayer(DAL)和一个Web项目。所有这些项目中的断点都无法工作。我甚至在主控制器的

我正在使用Visual Studio 2013中的ASP.NET解决方案,该解决方案无法命中断点。VisualStudio将成功命中其他解决方案上的断点,并且此解决方案中的断点以前是有效的。但在这个时候,他们无法工作

我正在使用Visual Studio 2013终极版,更新4。它安装在64位Windows 8.1上

这是一个MVC解决方案,包含3个项目:BusinessEntities、DataAccessLayer(DAL)和一个Web项目。所有这些项目中的断点都无法工作。我甚至在主控制器的索引ActionResult中尝试了一个断点,但仍然未能在断点处停止

在Visual Studio功能区中,解决方案配置设置为“调试”。此外,Configuration Manager显示我的所有3个项目都有一个设置为调试的配置。重新启动IIS、重新启动Visual Studio和重新启动并没有解决此问题。选择Build>Clean Solution、Build>Rebuild,然后选择Debug>Start Debugging也无法修复它

在web.config中,调试在此节点中设置为true:

  <system.web>
      <compilation debug="true" targetFramework="4.0" />

在我的项目的bin目录中有.pdb文件。我验证了它们在清理解决方案时被删除,在重建解决方案时被重新创建

我还需要检查什么?我真的需要让断点在这个解决方案中工作。谢谢

========

2014年12月30日更新-以下是我在@paul.abbott.wa.us发表评论后尝试的几件事。为了清楚起见,我所做的几点评论被删除并附加在这里

========

我正在通过VS启动应用程序,并在IIS下运行它。IIS的版本是8.5。公开进程名称时(通过System.Diagnostics.process.GetCurrentProcess().ProcessName),它是w3wp

在IIS中,web应用程序具有类似“local.mysite”的站点名称,并且在“我的主机”文件中有一个匹配的条目。该站点使用DefaultAppPool,它采用.NET CLR 4.0版和集成托管管道模式。我的解决方案中的3个应用程序的目标是.NET Framework 4

如果我将其切换回IIS Express,调试器将开始工作。IIS的版本更改为8.0,进程名称当然是iisexpress。从技术上讲,我不必在我的工作站上的IIS下运行这个,但我更愿意这样做。我在IIS中错误配置或忽略了什么可能导致调试器失败

查看属性页Web选项卡上的project server设置时,我注意到下拉列表设置为“IIS Express”。当切换到“本地IIS”时,系统会提示我以管理员身份运行VS。完成后,我能够将服务器更改为本地IIS,并点击调试器。我签入了更改,关闭了VS,启动了不以管理员身份运行的VS,并加载了解决方案。无法加载web项目,并显示以下消息:web应用程序项目[MySiteName]配置为使用IIS。无法访问IIS元数据库。您没有足够的权限访问计算机上的IIS网站

最终,该站点的某些部分将采用Active Directory身份验证。那么,如果我希望在IIS Express下运行站点,我需要的解决方案是在IIS Express下运行站点,还是始终以管理员身份运行VS?谢谢

我找到了一个解决方案,可以绕过错误消息“Web应用程序项目[MyApp]配置为使用IIS。无法访问IIS元数据库。您没有足够的权限访问计算机上的IIS网站。”请按照本文中的步骤进行操作

授予我的帐户对intetsrv\config文件夹的访问权后,web项目将在Visual Studio中正确加载,而无需以管理员身份运行VS

但现在,当我启动该网站时,会出现另一个警报:“无法在web服务器上启动调试。IIS没有列出与启动的URL匹配的网站。单击“帮助”以获取详细信息。”最初,我只是单击“创建虚拟目录”并再次启动,但该警报再次出现

因此,我从警报中选择了帮助按钮。这就导致了,它提出了大约20多件要检查的事情,与其他文章的链接数量大约是原来的一半。我现在感觉有点像爱丽丝梦游仙境,在兔子洞里走得更远

2015年2月3日更新:我在本地IIS实例上运行此操作时的解决方法是以管理员身份运行Visual Studio。最终,我们将该应用程序更改为使用IIS Express,然后放弃了该应用程序,转而使用同事构建的另一个解决方案。那项决定与这个问题无关。谢谢大家的反馈和想法


2016年3月7日更新:目前我无法复制此问题,因为我们的解决方案已不再是我去年处理时的状态。如果主持人能结束这个问题,我将不胜感激。完成此操作的选项与我当前的场景不一致,但如果其他人遇到此场景,可能会发现下面的建议很有用。谢谢各位提出的建议。

< P>从我以前的经验来看,请考虑以下几点:

  • 检查是否已将断点放在正确的位置,并且正在运行相应的页面或控制器
  • 右键单击断点=>Location=>Check“允许源代码与原始版本不同”。如果您安装了resharper,可能会有所帮助

  • 如果您是通过Ajax调用调用的,请确保页面上没有java脚本错误(对于此IE,默认情况下捕获js错误)

  • 有些时候是因为建筑不彻底,所以要把房子打扫干净 解决方案(右键单击解决方案并选择“
    清洁解决方案”
    ” 项目)然后“
    重建解决方案

  • 有时这是因为您可能已禁用了的生成选项 一些类库,所以在这种情况下