【问题标题】:Why is Console.WriteLine doesn't work outside of VS?为什么 Console.WriteLine 在 VS 之外不起作用?
【发布时间】:2011-02-13 04:38:02
【问题描述】:

我创建了 WinForms 应用程序,当我从控制台 (cmd) 运行它时,控制台不显示我使用 Console.WriteLine 记录的任何内容。它只是“挂起”,直到程序完成执行。在 VS 中,输出显示了很多信息,包括调试和发布模式。

我希望使用控制台和跟踪工具,然后能够确定为什么某些东西在某些外部环境中不起作用。如何在控制台中启用它?

【问题讨论】:

  • 原因的答案是,控制台进程不属于您的 WinForms 应用程序,因此 System.Console 不引用该控制台窗口。我相信您需要调用 Windows API 才能访问启动您的应用的控制台进程。
  • 也许使用 log4Net 进行日志记录......

标签: c# .net winforms visual-studio visual-studio-2010


【解决方案1】:

您可能想看看重定向控制台错误输出(如this 建议)是否适合您。或者你可以像@Mitch Wheat 建议的那样使用Log4Net

【讨论】:

  • 谢谢你的建议,但我可以用另一种方式破解它:)
【解决方案2】:

我很震惊,但是执行“MyApp.exe > a.log”会创建一个包含我想要的信息的日志文件。

【讨论】:

  • 不要震惊; Console.WriteLine 只是写入标准输出,而您正在将标准输出重定向到文本文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-07
  • 2021-08-17
  • 2022-12-18
  • 1970-01-01
相关资源
最近更新 更多