Лучший способ обнаружить сборку выпуска из отладочной сборки?.net
Вопрос
Итак, у меня есть около 10 коротких css-файлов, которые я использую с приложением mvc.Есть такие, как error.css login.css и т.д...Просто несколько действительно коротких css-файлов, которые упрощают обновление и редактирование (по крайней мере, для меня).То, что я хочу, - это что-то, что оптимизирует ветку if else и не включает ее в финальные биты.Я хочу сделать что-то вроде этого
if(Debug.Mode){
<link rel="stylesheet" type="text/css" href="error.css" />
<link rel="stylesheet" type="text/css" href="login.css" />
<link rel="stylesheet" type="text/css" href="menu.css" />
<link rel="stylesheet" type="text/css" href="page.css" />
} else {
<link rel="stylesheet" type="text/css" href="site.css" />
}
У меня будет задача msbuild, которая объединит все css-файлы, сведет их к минимуму и все такое прочее.Мне просто нужно знать, есть ли способ удалить ветку if else в последних битах.
Решение
В частности, как это в C#:
#if (DEBUG)
Debug Stuff
#endif
C # имеет следующие директивы препроцессора:
#if
#else
#elif // Else If
#endif
#define
#undef // Undefine
#warning // Causes the preprocessor to fire warning
#error // Causes the preprocessor to fire a fatal error
#line // Lets the preprocessor know where this source line came from
#region // Codefolding
#endregion
Другие советы
if (System.Diagnostics.Debugger.IsAttached)
{
// Do this
}
else
{
// Do that
}
Мне следовало воспользоваться Google.
#if DEBUG
Console.WriteLine("Debug mode.")
#else
Console.WriteLine("Release mode.")
#endif
Убедитесь, что в свойствах проекта установлен флажок "Параметры конфигурации" -> "Сборка" "Определить ОТЛАДОЧНУЮ константу".
Вы можете попробовать использовать
HttpContext.Current.IsDebuggingEnabled
он управляется узлом в конфигурации.На мой взгляд, это более приятное решение, чем условная компиляция.
Однако, если вы хотите иметь возможность управлять на основе компиляции, я думаю, вы можете использовать Условный атрибут.
С уважением,
Константы компилятора.Я не помню синтаксис C #, но вот как я делаю это в VB:
#If CONFIG = "Debug" Then
'do somtehing
#Else
'do something else
#EndIf