2017-06-06 32 views
0

當我使用的Visual Studio 2016(或與此有關的任何Visual Studio)建立自己的網站項目工作正常,編譯器給我一個錯誤:網站不建,而是在瀏覽器ASP.net

Error when building

但是,如果我轉到代碼文件ResetPassword.aspxedtEmployeeSurname控件存在,並且它具有runat="server"屬性。

也沒有給我的錯誤,如果我打開ResetPassword.aspx.vb代碼文件。 (所以在任何變量名稱/控件ID下面都沒有紅線)。

ResetPassword.aspx View

什麼是真正有趣的是,從瀏覽器的網站(即使ResetPassword.aspx)加載正確沒有任何問題,我可以提交表單。

如果我註釋掉ResetPassword.aspx.vb中的所有代碼,那麼它只是發現另一個控件「不存在」,因此它會進行大量的頁面操作。

所有我想知道的是:

  • 是什麼原因導致了這些問題
  • 如何解決這些問題OR如何確定的問題是什麼。

如果這是一些開發人員犯的常見錯誤,請幫助我制定一個在谷歌中使用的搜索字符串,因爲我的大多數搜索結果是模糊的或偏離主題。

+0

可能是瀏覽器正在加載以前編譯的版本,並且VS中沒有編譯的內容是對代碼的更改。沒有看到相關的代碼片段,任何人都不可能真實地提出一種解決方法。 – ADyson

+0

@ADyson,如果你能告訴我你需要查看哪些代碼,我可以發佈它,但基本上,如果我對「ResetPassword.aspx」進行了更改(如添加一個新的文本框),那麼它將加載到瀏覽器中,並且vb代碼將處理與文本框相關的任何事件,所以它不會加載以前編譯的版本,或者至少它不會像它那樣出現,我每天都在積極地對網站進行更改,並且所有更改都會正確加載。 –

+0

可能只是VS中的錯誤,我猜。如果你清理解決方案,重新啓動VS然後做一個全新的版本,你會得到錯誤嗎? – ADyson

回答

1

我以前遇到過這樣的事情,我相信你看到的錯誤是紅鯡魚。他們讓我相信,你的用戶控件的一個較低的項目被定義,或者甚至可能低於這個項目,它有一個可能不相關的錯誤,導致它不能由visual studio構建,這反過來使視覺工作室認爲你的用戶控件沒有定義。

我通常所做的是構建解決方案並觀察輸出窗口。它將單獨構建所有項目,在輸出窗口中彈出的第一個錯誤是問題的根源。你所看到的一切都是這個原始問題的症狀。如果您修復了輸出中顯示的第一個錯誤,那麼它將正確地構建,否則您將不得不重複彈出下一個錯誤的過程。

Visual Studio中使用順序錯誤列表訂購的錯誤,他們在生成過程中來了,但已經改變了,我個人而言,真的首選舊的排序(我認爲這是一個設置,您可以使用回到舊的排序,但我想不起我的頭頂)。

1

從截圖,它表明你在你的項目錯誤。如果您沒有設置,應用程序將無法成功運行。

你可以讓應用程序運行,即使錯誤。 enter image description here

檢查,以便後期:

Debugging runs even with compiler's errors in Visual Studio

注:

如果已經清理和重建方案, 嘗試運行在其他瀏覽器或其他計算機應用,可能是你有從以前的成功結果中顯示的數據。

+0

我試過這個解決方案,甚至去我的機器上卸載並重新安裝VS,但問題仍然存在,即使它編譯時不會顯示錯誤(運行最後一次成功構建,它仍然不會將調試器附加到代碼中,因爲它有錯誤)。 –

+0

@JacquesKoekemoer你有​​沒有試過在其他系統中運行代碼? – tharif

0

根據錯誤的措辭,我相信你可能指的是ResetPassword.aspx後面的代碼之外的一些控件。消息的後面部分表示由於其保護級別,可能無法訪問。默認情況下,放置在窗體上的控件的支持變量爲Protected,因此無法在該控件或其繼承鏈的範圍之外看到。

相關問題