2010-05-07 71 views
1

沒有抓到這是我職業生涯中的第一次,我的工作已經被設置爲Visual Studio 2008的一個ASP.Net(V3.5)項目/ 10 網站項目ASP.Net網站項目 - 錯誤在編譯時

我並不熱衷於這種工作方式,出於各種原因,但目前爲止,直到公司在具有命名空間,設計器和項目文件等環境中工作的美德時,我有繼續使用現有的代碼庫。

自從我開始以來,我遇到了一些奇怪的問題,但也許最奇怪的是,雖然VS讓我構建代碼,但它不會可靠地撿到編譯錯誤,所以直到運行時纔會注意到這些錯誤。

我知道網站模型允許動態/熱編譯當一個請求是由一個具體的,但我不明白爲什麼它不會做到這一點時,我手動(F5)構建/重建項目。

它是非常令人討厭的,你可以想象,我無法找到解決方法。任何StackOverflow的人可以幫助使用suome建議讓事情變得更好嗎?

+0

你能發表一個編譯時錯誤的例子,它沒有被編譯器捕獲,但在運行時被報告嗎? – Lazarus 2010-05-07 15:39:59

+0

我會使用沒有編譯時檢查嘗試利用轉換項目的煩惱(閱讀浪費時間)... – Nate 2010-05-07 15:53:23

回答

1

Web部署項目有一個選項來編譯一切,包括ascx,aspx和其他東西。它幾次將我從錯誤標記中解救出來。

http://msdn.microsoft.com/en-us/magazine/cc163448.aspx取消「做出更新」強制所有內容的編譯。在大型應用程序中,這可能需要很長時間。當所有代碼背後的代碼都沒有了,並且ascx文件在打開它們時會說「這是一個存根」,那麼你知道你有一個完整的編譯。

即使經過這麼多的編譯,ASP.NET配置文件,一些XML序列化等邊緣的情況下仍然會在運行時編譯一些。

2

如果您在ASPX或ASCX文件中有一個寄存器命令,你還沒有註冊的組件在你的項目,這會不會有所回升,直到運行時。這可能是問題嗎?

<%@ Register TagPrefix="Custom" Namespace="CustomControlNamespace" Assembly= "CustomControl" %> 

如果包括網絡部署項目的解決方案,並設置了預編譯您的網站,它會撿起這些類型的錯誤,因爲它會編譯後面的代碼沿標記的網頁,而目前,你只編譯你的代碼和設計器文件。

0

最可能的原因是您的標記頁面存在編譯錯誤。只有在第一次運行時纔會編譯這些內容。

+0

唉這不是簡單 - 所有的錯誤都在代碼背後的文件:-( – 5arx 2010-05-11 13:30:11