在我的 .NET MVC 4 站点中,我在几个地方使用了 #If DEBUG Then。最近我注意到 DEBUG 变量似乎存在一些问题。这个问题一直在发生
这是我在控制器操作中放入的一些代码来测试我的问题:
If DEBUG Then
ViewData("test") = True
#Else
ViewData("test") = False
#End If
如果我在调试和发布模式之间交替运行我的网站多次,起初代码会工作,但经过几次尝试后,上面的代码块会陷入认为它处于发布模式或陷入认为它处于调试模式的状态。在这一点上,无论我是处于调试模式还是发布模式都无关紧要,愚蠢的东西会坚持它卡住的任何值并转到该值的代码块。
在发布模式下,= True 行显示为灰色。在调试模式下,= False 行显示为灰色。所以这行得通。但是,如果该代码对应于代码所停留的值,则该代码可能仍会运行灰线。
无法解决的问题: - 交替进行一些 - 重新启动 VS - 重新启动计算机 - 卸载项目
唯一似乎解决它的方法是更改条件语句或添加更多 #If DEBUG Then 代码在其他地方。就好像编译器在某些情况发生变化之前不会重新读取条件。这只发生在我正在处理的一个 VS 项目上,不会发生在其他项目上。