从调试版本中检测发行版本的最佳方法? 。网
时间:2020-03-05 18:49:43 来源:igfitidea点击:
所以我有大约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分支。
解决方案
回答
我应该使用谷歌。
#if DEBUG Console.WriteLine("Debug mode.") #else Console.WriteLine("Release mode.") #endif
确保选项"配置设置"->"构建""定义调试
项目属性中的"常量"。
回答
编译器常量。我不记得Csyntax,但这是我在VB中的处理方式:
#If CONFIG = "Debug" Then 'do somtehing #Else 'do something else #EndIf
回答
具体来说,在C#中是这样的:
#if (DEBUG) Debug Stuff #endif
遵循以下预处理程序指令:
#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 }