我试图在我的ASP.Net MVC 2应用程序的Visual Studio 2010中的.ascx或.aspx文件中给下面提到的页面添加一个断点。但它不会让我,它显示:
"这不是断点的有效位置" 。
早些时候它确实奏效了。这是为什么?任何帮助表示赞赏。我的.ascx页面如下所示:
编辑1
.cs文件正在工作。不仅仅在.aspx和.ascx文件上工作
编辑2
下面提到的评论部分链接的无正在为该问题提供解决方案.B'我们不能为代码库添加额外的代码仅用于debug.So是否有任何方法只是激活我的视图的红色标记(调试标记)&sc#代码,如图像中提到的那样?
编辑3
它在同一个文件中的javascript代码内部工作但不适用于c#代码。任何线索?
编辑4
在我安装Windows Azure SDK for .NET - October 2012
之后出现了上述问题当我编译代码时,它会提供 Waring消息,如下所示。
答案 0 :(得分:20)
如果您在Visual Studio 2012中使用Asp.Net Mvc 5,但未安装正确的工具,则会出现此问题。对我来说,这是因为我通过Nuget将我的Asp.Net Mvc 4版本升级到版本5。但是,这并未在VS 2012中安装工具,因此IDE可以正确解析和处理.cshtml
文件。因此,没有任何剃刀代码显示为有效的C#,并且无法设置任何断点(错误"这不是断点的有效位置"如果您尝试设置它)。
解决方案是install the proper tooling。 (或direct link)一旦我安装了工具并重新启动了VS,我就能够再次在.cshtml
个文件中愉快地设置断点。
答案 1 :(得分:7)
查看屏幕截图中<% %>
代码块的内容显示语法未突出显示。通常这意味着VS没有识别出该块包含服务器端C#代码。
它适用于Javascript,因为VS可以将其识别为客户端脚本并打破它。
修复语法高亮,你也可以打破它。
通常情况下会发生这种情况,因为VS在HTML编辑(使用视觉预览,排序)和C#代码之间切换很困难,偶尔会出错。
最常见的原因是.aspx或.ascx文件顶部缺少Language
指令:
<%@ Page Language="C#" ...
或
<%@ Control Language="C#" ...
您还可以尝试使用明确的代码块,例如:
<script type="text/C#" runat="server"> ...
这也可能由nested .master pages引起:尝试清除ReflectedSchemas文件夹:%appdata%\Microsoft\VisualStudio\10.0\ReflectedSchemas\
Removing the ReSharper trial has also been known to cause this
最后,有时它只是VS的部分混乱 - 尝试重新启动,如果这不起作用,请尝试重新组织文件并重新启动。愚蠢(我知道),但有时会提示VS弄明白。
顺便说一句,这是他们在VS 2012中的显着改进
答案 2 :(得分:1)
在通过 @Keith 显示语法突出显示问题后,我从上到下查看了我的文件,反之亦然。然后我发现了这个问题。
我在上面的编辑4 上展示了我的项目的警告信息。
在我解决了这个问题之后,制动点(调试)问题也消失了。
为此,我使用了下面提到的链接。
Could not load file or assembly 'msshrtmi' - incorrect format in Azure deployment
将来我会写一份完整的分步指南来说明如何摆脱这个问题。
感谢每一位给予我支持的人。
答案 3 :(得分:1)