J'utilise Console.WriteLine () à partir d'une application de test WPF très simple, mais lorsque j'exécute l'application à partir de la ligne de commande, je ne vois rien en cours d'écriture sur la console. Quelqu'un sait-il ce qui pourrait se passer ici?
Je peux le reproduire en créant une application WPF dans VS 2008, et en ajoutant simplement Console.WriteLine ("texte") partout où ils sont exécutés. Des idées?
Tout ce dont j'ai besoin pour le moment est quelque chose d'aussi simple que Console.WriteLine (). Je réalise que je pourrais utiliser log4net ou une autre solution de journalisation, mais je n'ai vraiment pas besoin de beaucoup de fonctionnalités pour cette application.
Edit: J'aurais dû me rappeler que Console.WriteLine () est pour les applications console. Eh bien, pas de questions stupides, non? :-) Je vais simplement utiliser System.Diagnostics.Trace.WriteLine () et DebugView pour le moment.
Réponses:
Vous devrez créer une fenêtre de console manuellement avant d'appeler les méthodes Console.Write. Cela initiera la console à fonctionner correctement sans changer le type de projet (qui pour l'application WPF ne fonctionnera pas).
Voici un exemple de code source complet, illustrant à quoi peut ressembler une classe ConsoleManager et comment elle peut être utilisée pour activer / désactiver la console, indépendamment du type de projet.
Avec la classe suivante, il vous suffit d'écrire
ConsoleManager.Show()
quelque part avant tout appel àConsole.Write
...la source
SetConsoleCtrlHandler
fonction qui permet d'être notifié quand l'CTRL_CLOSE_EVENT
événement se produit mais tu ne peux rien faire avec, il n'y a rien qui permet à ton application de continuer. Vous serez fermé. Si vous avez envie de piratage, vous pouvez probablement échanger le gestionnaire de messages Windows pour le processus de la console et simplement supprimer le message WM_CLOSE, je n'ai jamais essayé cela mais cela pourrait fonctionner. C'est juste une autre fenêtre, mais cela dit, à moins que vous ne souhaitiez entretenir cette idée, vous feriez probablement mieux de faire autre chose.Faites un clic droit sur le projet, «Propriétés», onglet «Application», changez «Type de sortie» en «Application console», et il aura également une console.
la source
Vous pouvez utiliser
Cela affichera la fenêtre «Sortie» dans Visual Studio (lors du débogage).
assurez-vous que l'assemblage Diagnostics est inclus:
la source
Console.WriteLine
n'est pas du tout destiné aux applications WPF et qu'il est destiné uniquement aux applications de ligne de commande.Bien que John Leidegren n'arrête pas de rejeter l'idée, Brian a raison. Je viens de le faire fonctionner dans Visual Studio.
Pour être claire, une application WPF ne crée pas de fenêtre de console par défaut.
Vous devez créer une application WPF, puis changer le OutputType en "Application console". Lorsque vous exécutez le projet, vous verrez une fenêtre de console avec votre fenêtre WPF devant elle.
Cela n'a pas l'air très joli, mais je l'ai trouvé utile car je voulais que mon application soit exécutée à partir de la ligne de commande avec des commentaires, puis pour certaines options de commande, j'afficherais la fenêtre WPF.
la source
Il est possible de voir la sortie destinée à la console en utilisant la redirection de ligne de commande .
Par exemple:
écrira tout le contenu dans le
output.txt
fichier.la source
Ancien article, mais j'ai rencontré cela, donc si vous essayez de générer quelque chose vers Output dans un projet WPF dans Visual Studio, la méthode contemporaine est:
Incluez ceci:
Puis:
la source
J'utilise Console.WriteLine () pour une utilisation dans la fenêtre Sortie ...
la source
J'ai créé une solution, mélangé les informations de varius post.
C'est un formulaire, qui contient une étiquette et une zone de texte. La sortie de la console est redirigée vers la zone de texte.
Il existe également une classe appelée ConsoleView qui implémente trois méthodes publiques: Show (), Close () et Release (). La dernière consiste à laisser la console ouverte et à activer le bouton Fermer pour afficher les résultats.
Les formulaires sont appelés FrmConsole. Voici le XAML et le code c #.
L'utilisation est très simple:
Pour ouvrir la console. Utilisation:
Pour le texte de sortie vers la console.
Utilisation:
Pour Fermer la console.
Laisse la console ouverte et active le bouton Fermer
XAML
Le code de la fenêtre:
le code de la classe ConsoleView
J'espère que ce résultat sera utile.
la source
Consultez cet article, m'a été très utile. Téléchargez l'exemple de code:
http://www.codeproject.com/Articles/335909/Embedding-a-Console-in-aC-Application
la source
Autant que je sache, Console.WriteLine () est uniquement pour les applications console. Je pense que c'est votre problème.
la source