這不是斷點的有效位置
我試圖在 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 沒有辨識出該塊包含伺服器端 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\最後,有時這只是 VS 的一部分 - 嘗試重新啟動,如果這不起作用,請嘗試重新組織文件並再次重新啟動。愚蠢(我知道),但有時這會促使 VS 弄清楚。
順便說一句,這是他們在 VS 2012 中顯著改進的地方


