这不是断点的有效位置

Sam*_*ath 15 .net visual-studio-2010 asp.net-mvc-2

我试图在我的ASP.Net MVC 2应用程序的Visual Studio 2010中的.ascx或.aspx文件中在下面提到的页面上设置一个断点.但它不会让我,它显示:

"这不是断点的有效位置".

早些时候它确实奏效了.这是为什么?任何帮助表示赞赏.

我的.ascx页面如下所示:

在此输入图像描述

编辑1

.cs文件它正在工作.不仅仅在.aspx和.ascx文件上工作

编辑2

注释部分的下文提到的链接是给了issue.B'cos的解决方案,我们不能只为debug.So代码库添加额外的代码没有任何的方法,只是激活红色标记(标记调试)我查看图像中提到的c#代码?

编辑3

它适用于同一文件中的javascript标记,但不适用于c#code.Any Clue?

在此输入图像描述

编辑4

在我安装Windows Azure SDK for .NET(2012年10月)之后出现了上述问题

当我编译代码时,它给出了Waring消息,如下所示.

在此输入图像描述

Kir*_*oll 20

如果您在Visual Studio 2012中使用Asp.Net Mvc 5,但未安装正确的工具,则会出现此问题.对我来说,这是因为我通过Nuget将我的Asp.Net Mvc 4版本升级到版本5.但是,这并未在VS 2012中安装工具,因此IDE可以正确解析和处理.cshtml文件.因此,没有任何剃刀代码显示为有效的C#,并且无法设置任何断点(如果您尝试设置它,则错误"这不是断点的有效位置").

解决方案是安装合适的工具.(或直接链接)一旦我安装了工具并重新启动了VS,我就能够再次在.cshtml文件中愉快地设置断点.


Kei*_*ith 7

<% %>查看屏幕截图中代码块的内容显示语法未突出显示.通常这意味着VS没有识别出该块包含服务器端C#代码.

它适用于Javascript,因为VS可以将其识别为客户端脚本并打破它.

修复语法高亮,你也可以打破它.

通常情况下会发生这种情况,因为VS在HTML编辑(使用视觉预览,排序)和C#代码之间切换工作很困难,偶尔会出错.

最常见的原因是Language.aspx或.ascx文件顶部缺少指令:

<%@ Page Language="C#" ...
Run Code Online (Sandbox Code Playgroud)

要么

<%@ Control Language="C#" ...
Run Code Online (Sandbox Code Playgroud)

您还可以尝试使用显式代码块,例如:

<script type="text/C#" runat="server"> ...
Run Code Online (Sandbox Code Playgroud)

这也可能是由嵌套的.master页面引起的:尝试清除ReflectedSchemas文件夹:%appdata%\Microsoft\VisualStudio\10.0\ReflectedSchemas\

已知移除ReSharper试验也会导致此问题.

最后,有时它只是在VS的部分混淆 - 尝试重新启动,如果这不起作用,请尝试重新组织文件并重新启动.愚蠢(我知道),但有时会提示VS弄明白.

顺便说一句,这是他们在VS 2012中得到了显着改进的东西

  • 为你的鹰眼+1.在显示语法高亮问题之后,我从上到下翻阅了我的文件,反之亦然.然后我发现了问题.我会更新它.谢谢你的指导. (2认同)

Sam*_*ath 1

在@Keith显示了语法突出显示问题之后,我从上到下浏览了我的文件,反之亦然。然后我就发现了这个问题。

正如我在上面的编辑 4中所示,我的项目中有一条警告消息。

在我解决了这个问题之后,制动点(调试)问题也消失了。

为此,我使用了下面提到的链接。

无法加载文件或程序集“msshrtmi” - Azure 部署中的格式不正确

将来我将编写一个完整的分步指南来展示如何解决这个问题。

感谢每一位给予我支持的人。