在我的.NET MVC 4站點中,我使用#If DEBUG然後在幾個地方。最近我注意到DEBUG變量似乎存在一些問題。這個問題持續發生DEBUG指令不起作用
下面是一些代碼,我放在一個控制器動作來測試我的問題:
If DEBUG Then
ViewData("test") = True
#Else
ViewData("test") = False
#End If
如果我跑我的網站多次調試之間交替和釋放模式,起初的代碼將工作但是經過幾次嘗試之後,上面的代碼塊就會陷入思考它處於釋放模式,或者被卡住,認爲它處於調試模式。此時,如果我處於調試模式或釋放模式並不重要,那麼這個愚蠢的東西就會附着在任何被卡住的值上,然後轉到該值的代碼塊。
在釋放模式下,= True行變灰。在調試模式下= False行灰顯。所以這是有效的。但是,如果代碼對應於代碼被卡住的值,代碼仍可能會顯示爲灰色。
的事情,不解決它: -alternating一些 -restarting VS -restarting計算機 -unloading項目
,這似乎解決它正在改變條件語句或增加更多的#唯一如果DEBUG然後在其他地方編碼。就好像編譯器不會在條件發生變化之前重新讀取條件。這隻發生在我正在處理的一個VS項目上,而不會發生在其他項目上。
你檢查了嗎? http://stackoverflow.com/questions/6912273/if-debug-is-ignored-vb-net-or-c – Jaxedin
是的。另外我的問題是不同的。有時DEBUG被定義,其他時候則不是。取決於代碼決定卡住的方式。這似乎是一個隨機故障,而不是一個設置。 – greenonion