每隔一段時間,當我編輯一個aspx或ascx頁面時,Visual Studio會開始告訴我在我的文件的第一行有一個錯誤。例如,現在,它在線1上說Argument missing
。這條線只是你典型的標題,沒有明顯的問題(在我眼中),而且當錯誤開始出現時我甚至沒有改變那個。是什麼導致瞬態aspx第一行編譯錯誤?
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="MyControl.ascx.cs"
Inherits="MyNamespace.MyControl" Debug="true" %>
與大多數編譯錯誤不同,構建仍然成功。 (至少這一次它沒有。)
值得一提的,沒有其他錯誤或警告該文件或它作爲拋出[P | C] x.cs
有時,爲了擺脫它,我被迫撤銷我的改變,直到它消失,並仔細重做我想要的。這一次,抓着吸管,我清理並重建瞭解決方案。當我輸入時,錯誤消失,重建完成後的某個時間。
我有一個懷疑,當我修改我的標記中的數據綁定時,經常發生這種情況。有時它似乎出現,如果我的結束斜槓前缺少標籤內的空間,像這樣:
[...] Text='<%# Eval("Field") %>'/>
與:
[...] Text='<%# Eval("Field") %>' />
...但是,這似乎並沒有有在這種情況下成爲問題。
編碼PHP和Perl時,解釋器有時會引用引用文件最後一行的錯誤。隨着時間的推移,我學會了在上面的某個地方尋找不平衡的括號和其他分隔符。 ASP.NET中的這個問題有點類似,但是很奇怪,因爲它是第一行,而不僅僅是上面的錯誤,層疊到底部。還是僅僅是Visual Studio暫時感到困惑?任何專業人士都可以解釋這個問題,爲什麼會發生?我希望有一些邏輯(而不是我自己建立的迷信)在下一次出現醜陋的頭時拋棄它。