Console.Write* 在与控制台应用程序或连接了控制台的窗口应用程序一起使用时按预期工作。
但是,如果我创建一个没有控制台的应用程序并从命令行运行它,它不会按预期输出。当程序仍在运行时再次出现提示时,它似乎异步启动应用程序。
如何以文本输出出现在附加控制台或运行它的命令提示符中的方式进行输出?或者,我如何以不同方式运行应用程序以使其正确等待并捕获预期输出?
最佳答案
考虑使用 Logger 框架,而不是依赖控制台。日志记录框架提供了多种使用日志的方式,因此您无需更改代码即可决定哪种方式最适合您。
例如,如果您使用的日志记录框架设置为为了控制台应用程序而将日志消息输出到控制台,您只需更改一个配置选项以使其输出到一个文件,您可以即使您没有打开控制台,也可以使用像 Baretail 这样的工具来观看。或者您可以轻松更改配置以输出到 System.Diagnostics.Debug
,以便它出现在 Visual Studio 输出窗口中。
关于c# - 不存在控制台时写入标准输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35135138/