2010-02-08 96 views
0

每隔一段時間,當我編輯一個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暫時感到困惑?任何專業人士都可以解釋這個問題,爲什麼會發生?我希望有一些邏輯(而不是我自己建立的迷信)在下一次出現醜陋的頭時拋棄它。

回答

0

現在已經觀察了這幾次,看起來像是在重建解決方案時發生這種情況。我傾向於在大部分時間使用Build,因爲它很方便地映射到F6。 (我目前還沒有意識到內置映射到Rebuild。)記住,當事情發生奇怪的時候使用Rebuild。

1

這是我發現的 - 當我得到這個錯誤通常出現在aspx頁面代碼與函數調用,實際上是在缺少參數 - 像這樣的

<asp:DropDownList DataValueField="Value" DataTextField="Text" 
runat="server" Width="90%" ID="Duration" 
DataSource='<%# Utils.GetDropDownList(,) %>' /> 

注意參數被遺漏在調用​​

所以錯誤信息沒有正確指向aspx頁面中的行,但實際上存在代碼問題。 希望這可以節省一些人的時間。

相關問題