Pas de sortie de console lors de l'utilisation d'AllocConsole et de l'architecture cible x86

J'ai un projet WinForms, et si l'utilisateur veut une console de débogage, j'alloue une console avec AllocConsole().

Toutes les sorties de la console fonctionne normalement avec l'architecture cible définie sur "any CPU", mais quand je l'ai changer pour "x86" il n'a pas de sortie du tout (Console.Read() fonctionne toujours comme prévu). Si j'ouvre le fichier EXE directement les, la sortie fonctionne. Il ressemble à Visual Studio de la réutiliser dans une "Sortie" de la fenêtre.

J'ai aussi essayé cette réponse, mais il ne fonctionne pas, j'ai aussi essayé Console.SetOut(GetStdHandle(-11))qui ne fonctionne pas non plus.

Réglage de l'architecture cible de "any CPU" est pas une option pour moi.

Voici donc mes deux questions:

  • Pourquoi est-ce seulement le cas lorsque l'architecture cible est définie sur x86?
  • Comment puis-je sortie de ma console lors de l'exécution à l'intérieur de Visual Studio?

source d'informationauteur teamalpha5441