因此,我有大约10个简短的css文件,可与mvc应用程序一起使用。
有像
error.css
login.css
等等...
仅有一些非常短的CSS文件,这些文件使更新和编辑变得容易(至少对我而言)。 我想要的是可以优化if else分支,而不将其合并到最终位中的东西。 我想做这样的事情
1 2 3 4 5 6 7 8 9
| 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#中像这样:
1 2 3
| #if (DEBUG)
Debug Stuff
#endif |
C#具有以下预处理程序指令:
1 2 3 4 5 6 7 8 9 10 11
| #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 |
1 2 3 4 5 6 7 8
| if (System.Diagnostics.Debugger.IsAttached)
{
// Do this
}
else
{
// Do that
} |
我应该使用谷歌。
1 2 3 4 5
| #if DEBUG
Console.WriteLine("Debug mode.")
#else
Console.WriteLine("Release mode.")
#endif |
确保选项"配置设置"->"构建""定义调试
项目属性中的"常量"。
您可以尝试使用
1
| HttpContext.Current.IsDebuggingEnabled |
它由配置中的节点控制。 在我看来,这是比条件编译更好的解决方案。
但是,如果您希望能够基于编译进行控制,我认为您可以使用ConditionalAttribute。
问候,
编译器常量。 我不记得C#语法,但这是我在VB中的处理方式:
1 2 3 4 5
| #If CONFIG ="Debug" Then
'do somtehing
#Else
'do something else
#EndIf |