所以我有大约10个与mvc app一起使用的短css文件。 有喜欢 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分支。
答案 0 :(得分:26)
具体来说,就像在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
答案 1 :(得分:7)
if (System.Diagnostics.Debugger.IsAttached)
{
// Do this
}
else
{
// Do that
}
答案 2 :(得分:5)
我应该使用谷歌。
#if DEBUG
Console.WriteLine("Debug mode.")
#else
Console.WriteLine("Release mode.")
#endif
确保选项“配置设置” - &gt; “构建”“定义DEBUG “检查项目属性中的常量”。
答案 3 :(得分:4)
您可以尝试使用
HttpContext.Current.IsDebuggingEnabled
它由配置中的节点控制。在我看来,这是比条件编译更好的解决方案。
但是,如果您希望能够根据编辑进行控制,我认为您可以使用ConditionalAttribute。
此致
答案 4 :(得分:1)
编译器常量。我不记得C#语法,但这是我在VB中的方式:
#If CONFIG = "Debug" Then
'do somtehing
#Else
'do something else
#EndIf