这不是断点的有效位置

时间:2012-12-20 08:03:54

标签: .net visual-studio-2010 asp.net-mvc-2

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

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

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

我的.ascx页面如下所示:

enter image description here

编辑1

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

编辑2

下面提到的评论部分链接的

正在为该问题提供解决方案.B'我们不能为代码库添加额外的代码仅用于debug.So是否有任何方法只是激活我的视图的红色标记(调试标记)&sc#代码,如图像中提到的那样?

编辑3

它在同一个文件中的javascript代码内部工作但不适用于c#代码。任何线索?

enter image description here

编辑4

在我安装Windows Azure SDK for .NET - October 2012

之后出现了上述问题

当我编译代码时,它会提供 Waring消息,如下所示。

enter image description here

4 个答案:

答案 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)

这是Visual Studio 2013中的a bug。应该在update 2(或更高版本)中修复。
也就是说,更新只是暂时解决了我自己的问题。