Console.WriteLine ne s’affiche pas dans la fenêtre de sortie

J’ai mis des appels à Console.WriteLine pour tester, mais ils n’apparaissent pas dans la boîte de sortie?

 public static ArrayList myDeliveries = new ArrayList(); public mainForm(){ InitializeComponent(); } private void mainForm_Load(object sender, EventArgs e){ if (!File.Exists("../../MealDeliveries.txt")){ MessageBox.Show("File not found!"); return; } using (StreamReader sr = new StreamReader("../../MealDeliveries.txt")){ //first line is delivery name ssortingng strDeliveryName = sr.ReadLine(); Console.WriteLine("Test content"); while (strDeliveryName != null){ //other lines Delivery d = new Delivery( strDeliveryName, sr.ReadLine(), sr.ReadLine(), sr.ReadLine(), sr.ReadLine(), sr.ReadLine(), sr.ReadLine() ); mainForm.myDeliveries.Add(d); //check for further values strDeliveryName = sr.ReadLine(); } } displayDeliveries(); } private void displayDeliveries(){ lstDeliveryDetails.Items.Clear(); Console.WriteLine("Test content"); Console.WriteLine(mainForm.myDeliveries.Count); foreach (Delivery d in mainForm.myDeliveries){ lstDeliveryDetails.Items.Add(d.DeliveryName); } } 

Quelqu’un peut-il aider ??

Si vous avez l’intention d’utiliser cette sortie en production, utilisez les membres de la classe Trace . Cela rend le code portable, vous pouvez connecter différents types d’écouteurs et les afficher dans la fenêtre de la console, la fenêtre de débogage, le fichier journal ou tout ce que vous voulez.

S’il ne s’agit que d’un code de débogage temporaire que vous utilisez pour vérifier que certains codes sont en cours d’exécution ou ont les valeurs correctes, utilisez la classe Debug comme le suggère Zach .

Si vous devez absolument utiliser la console, vous pouvez joindre une console dans la méthode Main du programme.

Console sorties de la console vers la fenêtre de la console et les applications Winforms n’affichent pas la fenêtre de la console. Vous devriez pouvoir utiliser System.Diagnostics.Debug.WriteLine pour envoyer la sortie vers la fenêtre de sortie de votre IDE.

Edit: En ce qui concerne le problème, avez-vous vérifié que l’ mainForm_Load est en cours? Vous pouvez placer un point d’arrêt au début de mainForm_Load pour voir. S’il n’est pas appelé, je suppose que mainForm_Load n’est pas connecté à l’événement Load .

En outre, il est plus efficace et généralement préférable de remplacer On{EventName} au lieu de vous abonner à {EventName} depuis les classes dérivées (dans votre cas, remplacer OnLoad au lieu de Load ).

Si vous souhaitez que la sortie Console.WriteLine("example text") apparaisse dans la fenêtre Sortie de débogage, modifiez temporairement le type de sortie de votre application à partir de l’application console vers l’application Windows.

Dans les menus, sélectionnez Projet + Propriétés et accédez au type de sortie: déroulant, accédez à l’application Windows, puis exécutez votre application.

Bien sûr, vous devez le modifier pour créer une application console destinée à être exécutée en dehors de l’EDI.

(testé avec Visual Studio 2008 et 2010, attendez-vous à ce qu’il fonctionne également dans les dernières versions)

Si vous développez une application en ligne de commande, vous pouvez également utiliser Console.ReadLine() à la fin de votre code pour attendre la pression sur la touche «Entrée» avant de fermer la fenêtre de la console pour pouvoir lire votre sortie. Cependant, les réponses Trace et Debug affichées ci-dessus constituent de meilleures options.

Lorsque le problème se produit sur Mac VS 2017 (auquel j’ai fait face).

  1. Allez au projet >> Options de “nom de votre projet”.
  2. Une fenêtre d’option apparaîtra
  3. Aller à RUN >> Option de menu par défaut
  4. Cochez l’option “Exécuter sur la console externe” TRUE et dites OK

Exécutez votre code d’application maintenant.