从调试版本检测发布版本的最佳方法? 。网

发布于 2024-07-04 03:27:41 字数 638 浏览 8 评论 0原文

所以我有大约 10 个简短的 css 文件与 mvc 应用程序一起使用。 有像 错误.css 登录.css ETC... 只是一些非常短的 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 分支。

So I have about 10 short css files that I use with mvc app.
There are like
error.css
login.css
etc...
Just some really short css files that make updating and editing easy (At least for me). What I want is something that will optimize the if else branch and not incorporate it within the final bits. I want to do something like this

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" /> 
}

I'll have a msbuild task that will combine all the css files, minimize them and all that good stuff. I just need to know if there is a way to remove the if else branch in the final bits.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

紫罗兰の梦幻 2024-07-11 03:27:42

您可以尝试使用

HttpContext.Current.IsDebuggingEnabled

它由配置中的节点控制。 在我看来,这是比条件编译更好的解决方案。

但是,如果您希望能够基于编译进行控制,我认为您可以使用 条件属性

问候,

You can try to use

HttpContext.Current.IsDebuggingEnabled

it is controlled by a node in configuration. In my opinion this is nicer solution than conditional compilation.

However if you want to be able to control based on a compilation I think you can used a ConditionalAttribute.

Regards,

書生途 2024-07-11 03:27:42

编译器常量。 我不记得 C# 语法,但我在 VB 中是这样做的:

#If CONFIG = "Debug" Then
  'do somtehing
#Else
  'do something else
#EndIf

Compiler constants. I don't remember the C# syntax, but this is how I do it in VB:

#If CONFIG = "Debug" Then
  'do somtehing
#Else
  'do something else
#EndIf
亽野灬性zι浪 2024-07-11 03:27:42
  if (System.Diagnostics.Debugger.IsAttached)
  {
           // Do this
  }
  else
  {
            // Do that
  }
  if (System.Diagnostics.Debugger.IsAttached)
  {
           // Do this
  }
  else
  {
            // Do that
  }
肩上的翅膀 2024-07-11 03:27:42

我应该使用谷歌。

#if DEBUG
    Console.WriteLine("Debug mode.") 
#else 
    Console.WriteLine("Release mode.") 
#endif 

确保选项“配置设置”-> “构建”“定义调试
检查项目属性中的常量”。

I should had used google.

#if DEBUG
    Console.WriteLine("Debug mode.") 
#else 
    Console.WriteLine("Release mode.") 
#endif 

Make sure that the option "Configuration settings" -> "Build" "Define DEBUG
constant" in the project properties is checked.

白芷 2024-07-11 03:27:41

具体来说,就像 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 

Specifically, like this in C#:

#if (DEBUG)
   Debug Stuff
#endif

C# has the following preprocessor directives:

#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 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文