Dot-Net

這不是斷點的有效位置

  • February 18, 2015

我試圖在 Visual Studio 2010 中的 ASP.Net MVC 2 應用程序的 .ascx 或 .aspx 文件中的下面提到的頁面上放置一個斷點。但它不會讓我這樣做,它顯示:

“這不是斷點的有效位置”

早些時候它確實有效。這是為什麼?任何幫助表示讚賞。

我的 .ascx 頁面如下所示:

在此處輸入圖像描述

編輯 1

.cs 文件可以正常工作。不能僅在 .aspx 和 .ascx 文件上工作

編輯 2

下面提到的評論部分的連結都沒有為這個問題提供解決方案。因為我們不能只為調試添加程式碼庫的額外程式碼。所以有什麼方法可以為我的啟動紅色標記(調試標記)查看圖片中提到的 c# 程式碼?

編輯 3

它適用於同一文件上的 javascript 標記,但不適用於 c# 程式碼。任何線索?

在此處輸入圖像描述

編輯 4

上述問題是在我為 .NET 安裝 Windows Azure SDK 之後出現的 - 2012 年 10 月

當我編譯程式碼時,它會給出如下所示的Waring 消息。

在此處輸入圖像描述

如果您在 Visual Studio 2012 中使用 Asp.Net Mvc 5,但未安裝正確的工具,則會出現此問題。對我來說,這是因為我通過 Nuget 將我的 Asp.Net Mvc 4 版本升級到了版本 5。但是,這並沒有在 VS 2012 中安裝工具,因此 IDE 可以正確解析和處理.cshtml文件。因此,沒有任何 razor 程式碼顯示為有效的 C#,並且無法設置任何斷點(如果您嘗試設置它,則會出現錯誤“這不是斷點的有效位置”)。

解決方案是安裝適當的工具。(或直接連結)安裝工具並重新啟動 VS 後,我能夠再次愉快地在.cshtml文件中設置斷點。

查看螢幕截圖中程式碼塊的內容<% %>表明語法未突出顯示。通常這意味著 VS 沒有辨識出該塊包含伺服器端 C# 程式碼。

它適用於 Javascript,因為 VS 可以將其辨識為客戶端腳本並對其進行中斷。

修復語法高亮,你也可以打破它。

通常會發生這種情況,因為 VS 在 HTML 編輯(具有某種視覺預覽)和 C# 程式碼之間切換非常困難,並且偶爾會出錯。

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

<%@ Page Language="C#" ...

要麼

<%@ Control Language="C#" ...

您還可以嘗試顯式程式碼塊,例如:

<script type="text/C#" runat="server"> ...

這也可能是由嵌套的 .master 頁面引起的:嘗試清除 ReflectedSchemas 文件夾:%appdata%\Microsoft\VisualStudio\10.0\ReflectedSchemas\

眾所周知,刪除 ReSharper 試用會導致此問題

最後,有時這只是 VS 的一部分 - 嘗試重新啟動,如果這不起作用,請嘗試重新組織文件並再次重新啟動。愚蠢(我知道),但有時這會促使 VS 弄清楚。

順便說一句,這是他們在 VS 2012 中顯著改進的地方

引用自:https://stackoverflow.com/questions/13967675