8

そのため、mvc アプリで使用する約 10 個の短い 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" /> 
}

すべてのcssファイルを結合し、それらとすべての良いものを最小化するmsbuildタスクがあります。最終ビットの if else 分岐を削除する方法があるかどうかを知りたいだけです。

4

5 に答える 5

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 
于 2008-09-08T23:40:44.790 に答える
7
  if (System.Diagnostics.Debugger.IsAttached)
  {
           // Do this
  }
  else
  {
            // Do that
  }
于 2008-11-18T15:52:05.233 に答える
6

私はグーグルを使うべきだった。

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

プロジェクトのプロパティのオプション「構成設定」->「ビルド」「DEBUG定数を定義する」がチェックされていることを確認してください。

于 2008-09-08T23:09:59.903 に答える
4

使用してみることができます

HttpContext.Current.IsDebuggingEnabled

構成内のノードによって制御されます。私の意見では、これは条件付きコンパイルよりも優れたソリューションです。

ただし、コンパイルに基づいて制御できるようにしたい場合は、ConditionalAttributeを使用できると思います。

よろしく、

于 2011-10-14T10:32:02.493 に答える
1

コンパイラ定数。C# の構文は覚えていませんが、これは VB で行う方法です。

#If CONFIG = "Debug" Then
  'do somtehing
#Else
  'do something else
#EndIf
于 2008-09-08T23:10:30.027 に答える