Modo migliore per rilevare una build di rilascio da una build di debug?.net
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.
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