2013-02-20 61 views
3

我有一個VB.Net程序,我正在處理。我有一段代碼將電子郵件正文中的結果作爲HTML發送給我。在某些時候,程序得到「卡住」,並沒有在表單加載中執行任何代碼更改。我已經從表單加載完全刪除了所有內容,但是它仍在執行將結果發送給電子郵件的代碼。程序正在執行不再存在的代碼

什麼會導致程序執行不存在的代碼?

唯一存在的代碼如下。但它仍然填充數據集,並通過電子郵件發送給我結果。

Dim TodayDt As DateTime = DateTime.Today 
Dim Tomorrow As DateTime = DateTime.Today.AddDays(1) 
Dim TodayEnd As DateTime 
TodayEnd = Tomorrow.AddSeconds(-1) 
Me.datasetTableAdapter.Fill(Me.dataset.set, TodayDt, TodayEnd) 
Me.ReportViewer1.Refresh() 
+1

也許陳述顯而易見的,但舊程序仍然運行在不同的位置/在不同的用戶帳戶下......或者就此而言,在不同的機器上運行? – DiskJunky 2013-02-20 21:18:19

+2

做一個徹底清理bin文件夾,重建整個項目,然後嘗試它。 – Servy 2013-02-20 21:19:29

+0

這是一個visual studio程序,我在調試模式下運行它。我已經關閉了該項目,甚至重新啓動。 – Shmewnix 2013-02-20 21:19:35

回答

2

執行清理,然後重建您的項目。

對於構建被破壞的情況並不罕見,因爲IDE沒有意識到源文件已被更新,或者涉及以前的構建泄露到新構建中的任何其他問題。這些問題幾乎總是通過擺脫以前的構建的每一個最後的痕跡來解決的(例如,Clean通常會這樣做;如果這樣做不起作用,則會採取更激烈的措施,例如將源代碼控制中的代碼再次下載到乾淨的目錄中)然後重新編譯。

這也是一個吸引注意最近與您的編譯過程中引入的任何問題的好方法。如果您的項目不再構建,您可能剛剛運行過一箇舊版本,或者如果您遇到某種問題,可能導致部分程序無法正常工作,那麼最好不要使用該程序,而不是靜默使用該依賴性的過時版本。

大多數這些原則適用於任何具有編譯步驟的開發環境,但某些環境比其他環境更容易出錯。