Dans mon application, j'ai beaucoup de Donc, je cherche un moyen facile de supprimer ou du moins désactiver toutes les consoles # écrivain et Quel est le moyen le plus simple d'atteindre ça? p> Console # Writeeline code> ou Console # écrire des appels code>. C'est tellement important que l'application est vraiment plus lente que nécessaire. P>
Console # écrire code> appels. P>
6 Réponses :
Peut-être trouvez-vous et remplacer la fonction dans n'importe quel éditeur de code?
Par exemple, trouvez tous et remplacer par p>
J'ai pensé à ça, mais le problème est que j'aurais une regex ou quelque chose comme ça.
Et puis j'ai beaucoup d'espaces dans le code parce que je devrais remplacer l'appel avec "" ou quelque chose comme ça.
Peut-être que ce que j'ai écrit serait assez?
Hmm oui cela pourrait être une solution. Je ferai cela si je ne trouve pas une solution simple pour l'éliminer complètement.
Si vous venez de commenter cela, vous n'auriez pas besoin de regexp et au cas où vous auriez besoin d'une journée, ces appels writes vous entraîneront simplement
S'ils sont non essentiels (journalisation), vous devez utiliser Heureusement Remplacement de Pour être complet: les instructions debug.Print () peuvent être activées / désactivées avec une case à cocher dans Project | Propriétés. p> system.diagnostics.debug.print () code> pour commencer. p>
Writeeline () Code> est compatible avec débogage.print () code> C'est donc un S & R Easy. Et réparer des usings peut-être. p>
console.write () code> pourrait être un peu plus délicieux. p>
Utilisez une boîte de dialogue simple, non regex, trouver / remplacer et remplacer chaque Vous pouvez ensuite garder la possibilité de suivre ce qui a été préalablement sortie directement sur la fenêtre de la console, optimisant toujours les performances en mode de libération. P> console.writeline ( code> par débog.writeline ( code> . P>
Debug.writeline ne gère pas les mêmes paramètres.
@Henk Holterman: Tu as raison. Je garde ma réponse (cela peut être utile si dans ce cas précis, les paramètres étaient très basiques, comme une seule chaîne à chaque fois), mais je préfère votre réponse.
dans Visual Studio, utilisez les outils Ctrl + F pour trouver "console.write"
puis ctrl + l pour supprimer la ligne. P>
Enregistrez la macro puis exécutez-le contre chaque fichier du projet qui a les lignes incriminées. P>
devrait prendre environ deux minutes. P>
Je suggérerais cependant que vous sauvegardez-vous d'abord votre source. Juste au cas où. P> Outils | Macros | Enregistrez l'option macro temporaire d'enregistrement pour enregistrer une macro qui fait une recherche de "console.write" et supprime la ligne. C'est: p>
Voici une solution rapide encore plus rapide que j'ai implémentée.
...
static int Main(String[] args)
{
...
#if !DEBUG
Console.SetOut(TextWriter.Null);
Console.SetError(TextWriter.Null);
#endif
...
}
C'est une meilleure réponse, car elle ne nécessite pas de syntaxe de commentaire, elle ne nécessite aucune modification du code. Voir ma réponse de supplément ci-dessous, utilisez-la lorsque vous souhaitez désactiver temporairement la sortie temporaire.
Pour éteindre De même, vous pouvez désactiver le programme Debug.writeline () Strong> Sortie en runtime, également lors de la compilation du mode de débogage, en utilisant un textwriterTracitTracisener, comme P> Remarque: j'ai testé au-dessus du code .NET Framework 4.7.2 En mode de débogage, à l'aide de la plate-forme WinForms. P> p>
À l'avenir, vous voudrez peut-être utiliser
#if debug code>ou utilisez le conditionnelAnttribute et votre propre méthode d'impression de débogage.Je le fais déjà, mais au début du projet, je ne l'ai pas fait.
Littering #Si de débogage pour la console.priteline dans l'application sonne comme une mauvaise idée pour moi ... Utilisez un moteur de journalisation où vous pouvez adapter le niveau au moment de l'exécution
@Aaron: C'est pourquoi j'ai mentionné le conditionnelattribute. ;-)