我正在使用ASP.NET MVC项目,该项目在连接到IIS进程(w3wp.exe)时似乎遇到了一些问题.我在我自己的本地计算机上运行解决方案和IIS 8.5,所以我不认为这与我们的网络有任何关系.对我来说很奇怪的是,我能够在我本地调试的任何其他解决方案上达到断点.
我所拥有的问题是,断点转向红色,空心圆圈,永远不会被击中.通常,对此的修复是对解决方案的清理/重建,但这没有奏效.我已经确认通过向页面添加"throw new Exception"并确保它显示异常来更新代码.同样,这个问题只发生在这个问题上.我运行调试器的任何其他解决方案都可以正常工作.我也尝试重新启动应用程序池,网站,IIS以及我的计算机.
我读过的一些文章提到反病毒程序可以阻止远程调试器访问进程.但是,整个设置包含在我的本地计算机上,因此听起来不是问题.它确实让我有点担心,因为我们最近雇用了一个新的IT人员,他们正在对每个人的机器做出很多改变.
另外一点是添加这个Web应用程序的独特之处是IIS中的绑定.绑定是"*",以便利用与子域相关的一些自定义功能.
与此同时,我将继续寻找解决方案,但如果有人有任何想法可能导致这个解决方案无法正确调试我真的很感激.
编辑:找到建议删除ASP.NET临时文件的解决方案.没运气.
启用"托管兼容模式".转到工具 - >选项 - >调试并启用托管兼容模式.
解决了.结束是在调试菜单中选择的错误配置.我错误地将其切换到无法加载文档符号的发布配置.将它切换到调试配置,现在断点就好了.
要添加Abacus下面提到的内容,它也可能是一个搞乱你的构建的web.config转换.在我们的例子中,我们有Release配置debug
从web.config的编译部分删除属性.下面是一个示例和Visual Studio的构建配置下拉列表的屏幕截图.
注意:还要确保您的平台与配置一致.在我的情况下,Dev.Debug|Mixed Platforms
没有正确构建解决方案,但Dev.Debug|Any CPU
会.
我知道这不是OP的问题,但我在项目上发生了这种情况.该解决方案有多个MVC项目,错误的项目被设置为启动.
我还设置了项目的配置,只是启动进程/调试器,而不是打开一个新的浏览器窗口.
所以表面上看起来好像调试器正在启动,但是对于错误的进程它是这样做的.因此请检查并记住您也可以附加到多个进程.
愚蠢的错误让我摸不着头脑约30分钟.
我一直在努力解决这个问题.最后这就是为我做的事情.
选择 Debug-> Options-> Debugging-> General
Tick 启用.NET Framework源步进.
(这可能是您需要做的所有事情,但如果您像我一样,您还必须执行下面所述的操作.下面的解决方案还将修复项目加载旧程序集/ .pdb文件的错误,尽管重建和清理.)
选择 工具 - >选项 - >项目和解决方案 - >构建和运行,
取消选中" 仅在运行时构建启动项目和依赖项 "复选框,
从" 运行时,项目已过期 "下拉列表中选择始终构建.
右键单击您的项目,然后左键单击" 属性",并选择" Web"选项卡.
验证是否为您的案例选择了正确的服务器:
IIS本地
IIS Express
通过取消选中
属性>构建>优化代码
网页属性屏幕上的设置(在常规下)。