No. You cannot check the DEBUG constant with #if DEBUG
in a file with extension .cshtml
The DEBUG constant in Visual Studio 2012 won't activate
-
01-07-2022 - |
문제
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:
- The "Define DEBUG constant" is checked for the Debug configuration in project properties
- The Web.config does include the
<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:
해결책
다른 팁
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