現在我遇到了兩次這個問題,那就是我的程序似乎正在運行不再存在的代碼。我認爲一些舊版本卡住了一些但並不知道如何讓編譯器運行我編寫的更新代碼。C#中的代碼'ghosts'#
我發現問題的方式是通過觀察我已加載的位圖,即使在刪除指令後仍會繼續繪製。即使刪除了所涉及的圖像的所有引用,包括內容加載行,該問題仍然存在。
第一次發生這種情況重新啓動編譯器沒有解決問題,但重新啓動計算機。現在問題在完全關閉後仍然存在。
我使用MS C#2008 express版如果有任何方位。
現在我遇到了兩次這個問題,那就是我的程序似乎正在運行不再存在的代碼。我認爲一些舊版本卡住了一些但並不知道如何讓編譯器運行我編寫的更新代碼。C#中的代碼'ghosts'#
我發現問題的方式是通過觀察我已加載的位圖,即使在刪除指令後仍會繼續繪製。即使刪除了所涉及的圖像的所有引用,包括內容加載行,該問題仍然存在。
第一次發生這種情況重新啓動編譯器沒有解決問題,但重新啓動計算機。現在問題在完全關閉後仍然存在。
我使用MS C#2008 express版如果有任何方位。
你必須找出不匹配來自何處。 從外部VS運行.exe時會發生什麼?從VS裏面怎麼樣?你能否驗證在構建之後,你正在執行的二進制文件有一個更新的時間戳?新版本沒有被拉入的.dll文件中的陳舊代碼?
我的第一個想法是構建失敗,並且Visual Studio運行的是舊版本。我沒有VS 2008,但在VS 2010中,更改此選項的選項位於工具 - >選項 - >項目和解決方案 - >構建和運行。
根據我的經驗,當配置文件從調試改變時會發生這種情況。例如,如果我正在運行調試配置文件,它的工作原理。然後,我切換到QA配置文件並進行更改,然後構建新的部件。程序集被構建到名爲「QA」的目錄中,但是,當我通過Visual Studio進行調試時,它會從調試配置文件運行代碼。我可以刪除引用,重新編譯代碼,Visual Studio仍然會從調試配置文件運行。看來,我所做的任何更改都不在代碼中。實際上,我無意中運行了一箇舊版本。
你運行一個乾淨的構建? –
我會使用dotpeek或反射器來反編譯你的二進制文件來驗證正在運行的代碼實際上是你期望的。 – devshorts
這是什麼類型的應用程序? WPF?的WinForms?的WebForms? – RQDQ