c# - 不存在控制台时写入标准输出

标签 c#

Console.Write* 在与控制台应用程序或连接了控制台的窗口应用程序一起使用时按预期工作。

但是,如果我创建一个没有控制台的应用程序并从命令行运行它,它不会按预期输出。当程序仍在运行时再次出现提示时,它似乎异步启动应用程序。

如何以文本输出出现在附加控制台或运行它的命令提示符中的方式进行输出?或者,我如何以不同方式运行应用程序以使其正确等待并捕获预期输出?

最佳答案

考虑使用 Logger 框架,而不是依赖控制台。日志记录框架提供了多种使用日志的方式,因此您无需更改代码即可决定哪种方式最适合您。

例如,如果您使用的日志记录框架设置为为了控制台应用程序而将日志消息输出到控制台,您只需更改一个配置选项以使其输出到一个文件,您可以即使您没有打开控制台,也可以使用像 Baretail 这样的工具来观看。或者您可以轻松更改配置以输出到 System.Diagnostics.Debug,以便它出现在 Visual Studio 输出窗口中。

关于c# - 不存在控制台时写入标准输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35135138/

相关文章:

c# - WPF 应用程序发送参数(带页面导航的 MvvmLight)

c# - 获取通用接口(interface)的所有实现类型

c# - 为什么我必须渲染我的 Bundle 两次?

c# - 无法加载文件或程序集 "System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"

c# - 为什么编译器将 var 推断为动态类型而不是具体类型?

c# - lock(){} 是锁定资源,还是锁定一段代码?

c# - 调整窗口大小 C#

c# - 网址没有命中任何 Action

c# - 如果委托(delegate)不能重载,那么 'Func' 和 'Action' 如何有 16 个重载?

c# - 在现有 MVC3 网站中使用 SharePoint 组件