Frage

Ich habe also ungefähr 10 kurze CSS-Dateien, die ich mit der MVC-App verwende.Es gibt wie Fehler. CSS login.css usw. ...Nur ein paar wirklich kurze CSS-Dateien, die das Aktualisieren und Bearbeiten erleichtern (zumindest für mich).Was ich möchte, ist etwas, das den if else-Zweig optimiert und ihn nicht in die letzten Bits einbezieht.Ich möchte so etwas machen

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

Ich werde eine MSBuild-Aufgabe haben, die alle CSS-Dateien kombiniert, minimiert und all das gute Zeug.Ich muss nur wissen, ob es eine Möglichkeit gibt, den if else-Zweig in den letzten Bits zu entfernen.

War es hilfreich?

Lösung

Konkret so in C#:

#if (DEBUG)
   Debug Stuff
#endif

C# verfügt über die folgenden Präprozessoranweisungen:

#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 

Andere Tipps

  if (System.Diagnostics.Debugger.IsAttached)
  {
           // Do this
  }
  else
  {
            // Do that
  }

Ich hätte Google verwenden sollen.

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

Stellen Sie sicher, dass die Option "Konfigurationseinstellungen" -> "Build" "Debug -Konstante" in den Projekteigenschaften überprüft wird.

Sie können versuchen, es zu verwenden

HttpContext.Current.IsDebuggingEnabled

Es wird von einem Knoten in der Konfiguration gesteuert.Meiner Meinung nach ist dies eine bessere Lösung als die bedingte Kompilierung.

Wenn Sie jedoch in der Lage sein möchten, basierend auf einer Zusammenstellung zu steuern, können Sie meiner Meinung nach eine verwenden BedingtesAttribut.

Grüße,

Compiler-Konstanten.Ich erinnere mich nicht an die C#-Syntax, aber so mache ich es in VB:

#If CONFIG = "Debug" Then
  'do somtehing
#Else
  'do something else
#EndIf
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top