0

私の .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 コードを追加することです。何かが変更されるまで、コンパイラが条件を再読み込みしないかのようです。これは、私が取り組んでいる 1 つの VS プロジェクトでのみ発生し、他のプロジェクトでは発生しません。

4

1 に答える 1