Константа DEBUG в Visual Studio 2012 не активируется
Попытка использовать постоянную DEBUG ifdef в Visual Studio не работает для меня в.NET Framework 4.5, ASP.NET MVC 4.
Я убедился:
- "Определить константу DEBUG" проверяется на предмет конфигурации Debug в свойствах проекта
- Web.config включает в себя
<compilation debug="true"...
Код, который я использую для проверки, показывает isDebug = false, как в IDE, так и во время выполнения, даже если я запускаю в Debug-конфигурации:
bool isDebug;
#if DEBUG
isDebug = true;
#else
isDebug = false;
#endif
Это экранная часть Visual Studio, показывающая, что у меня активна конфигурация отладки, но в коде выделение цветом говорит, что DEBUG не определен.
Я должен что-то упустить!
Изменить: Снимок экрана того, что окно свойств показывает для Build-view:
2 ответа
Нет. Вы не можете проверить константу DEBUG с помощью #if DEBUG
в файле с расширением .cshtml
Это по замыслу.
Эти директивы предназначены только для времени компиляции. CSHTML (и другие страницы ASP.NET) компилируются во время выполнения (на веб-сервере), поэтому директива, выбранная вами в VS, не повлияет на них.
См. Статью CSHTML не распознает символы компиляции на уровне проекта в Microsoft Connect.