Reputation: 7383
Trying to use the ifdef DEBUG constant in Visual Studio doesn't work for me in a .NET Framework 4.5, ASP.NET MVC 4.
I made sure:
<compilation debug="true"...
The code I use to verify shows isDebug = false, both in the IDE and in runtime, even though i run under the Debug-configuration:
bool isDebug;
#if DEBUG
isDebug = true;
#else
isDebug = false;
#endif
This is a screen cap of Visual Studio, showing i have the Debug-configuration active, but in the code, the color highlighting says that DEBUG is not defined.
I must be missing something!
Edit: Screen cap of what the properties window shows for the Build-view:
Upvotes: 9
Views: 3855
Reputation: 35544
This is by design.
These directives are compile time only. CSHTML (and other ASP.NET pages) are compiled at runtime (on the web server) so the directive you have selected in VS will not affect them.
See the post CSHTML does not recognize project level compilation symbols on Microsoft Connect
Upvotes: 3
Reputation: 7773
No. You cannot check the DEBUG constant with #if DEBUG
in a file with extension .cshtml
Upvotes: 8