La meilleure façon de détecter une version de version à partir d’une version de débogage ?.filet

StackOverflow https://stackoverflow.com/questions/50900

  •  09-06-2019
  •  | 
  •  

Question

J'ai donc environ 10 fichiers CSS courts que j'utilise avec l'application mvc.Il y a comme une erreur.css login.css etc ...Juste quelques fichiers CSS très courts qui facilitent la mise à jour et l'édition (du moins pour moi).Ce que je veux, c'est quelque chose qui optimisera la branche if else et ne l'incorporera pas dans les bits finaux.Je veux faire quelque chose comme ça

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

J'aurai une tâche msbuild qui combinera tous les fichiers CSS, les minimisera et toutes ces bonnes choses.J'ai juste besoin de savoir s'il existe un moyen de supprimer la branche if else dans les derniers bits.

Était-ce utile?

La solution

Plus précisément, comme ceci en C# :

#if (DEBUG)
   Debug Stuff
#endif

C# a les directives de préprocesseur suivantes :

#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 

Autres conseils

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

J'aurais dû utiliser Google.

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

Assurez-vous que l'option "Paramètres de configuration" -> "build" "Définissez la constante de débogage" dans les propriétés du projet est vérifiée.

Vous pouvez essayer d'utiliser

HttpContext.Current.IsDebuggingEnabled

il est contrôlé par un nœud en configuration.À mon avis, c'est une solution plus intéressante que la compilation conditionnelle.

Cependant, si vous voulez pouvoir contrôler sur la base d'une compilation, je pense que vous pouvez utiliser un Attribut conditionnel.

Salutations,

Constantes du compilateur.Je ne me souviens pas de la syntaxe C#, mais voici comment je procède en VB :

#If CONFIG = "Debug" Then
  'do somtehing
#Else
  'do something else
#EndIf
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top