Domanda

Così ho circa 10 file css che uso con applicazione mvc.Ci sono, come errore.css login.css ecc...Solo alcune davvero breve i file css che fare l'aggiornamento e l'editing facile (almeno per me).Quello che voglio è qualcosa di ottimizzare l'if else e non incorporare entro l'ultimo bit.Voglio fare qualcosa di simile a questo

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

Ho una attività msbuild che unirà tutti i file css, minimizzare e tutta quella roba buona.Ho solo bisogno di sapere se c'è un modo per rimuovere il se altro ramo del finale di bit.

È stato utile?

Soluzione

In particolare, come questo in C#:

#if (DEBUG)
   Debug Stuff
#endif

C# ha le seguenti direttive del preprocessore:

#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 

Altri suggerimenti

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

Dovrei aveva usato google.

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

Assicurarsi che l'opzione "impostazioni di Configurazione" -> "Costruire" "Define DEBUG costante" nelle proprietà del progetto è selezionata.

Si può provare a utilizzare

HttpContext.Current.IsDebuggingEnabled

essa è controllata da un nodo di configurazione.A mio parere questo è soluzione migliore della compilazione condizionale.

Tuttavia, se si vuole essere in grado di controllo basato su una compilation penso che si può utilizzare un ConditionalAttribute.

Saluti,

Costanti del compilatore.Non mi ricordo la sintassi C#, ma questo è come lo faccio in VB:

#If CONFIG = "Debug" Then
  'do somtehing
#Else
  'do something else
#EndIf
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top